summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_7.s3815
-rw-r--r--asm/battle_anim_80A5C6C.s16
-rw-r--r--asm/battle_anim_80A9C70.s6
-rwxr-xr-xasm/battle_anim_815A0D4.s6
-rw-r--r--asm/battle_anim_8170478.s4
-rw-r--r--asm/contest.s2
-rw-r--r--asm/contest_painting.s2
-rw-r--r--asm/link.s2
-rwxr-xr-xasm/pokeball.s6
-rw-r--r--asm/pokedex.s2
-rwxr-xr-xasm/pokemon_storage_system.s4
-rwxr-xr-xasm/pokemon_summary_screen.s2
-rwxr-xr-xasm/pokenav.s4
13 files changed, 28 insertions, 3843 deletions
diff --git a/asm/battle_7.s b/asm/battle_7.s
deleted file mode 100644
index 94cc1ba8e..000000000
--- a/asm/battle_7.s
+++ /dev/null
@@ -1,3815 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start AllocateBattleSpritesData
-AllocateBattleSpritesData: @ 805D118
- push {r4,lr}
- ldr r4, =gBattleSpritesDataPtr
- 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
- .pool
- thumb_func_end AllocateBattleSpritesData
-
- thumb_func_start FreeBattleSpritesData
-FreeBattleSpritesData: @ 805D158
- push {r4,r5,lr}
- ldr r5, =gBattleSpritesDataPtr
- ldr r0, [r5]
- cmp r0, 0
- beq _0805D192
- 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]
-_0805D192:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FreeBattleSpritesData
-
- thumb_func_start ChooseMoveAndTargetInBattlePalace
-ChooseMoveAndTargetInBattlePalace: @ 805D19C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r2, r0, 9
- ldr r1, =gBattleBufferA + 4
- adds r2, r1
- mov r10, r2
- movs r1, 0
- movs r2, 0xFF
- bl CheckMoveLimitations
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x92
- ldrb r1, [r0]
- ldr r2, =gBitTable
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- negs r0, r1
- orrs r0, r1
- asrs r4, r0, 31
- movs r0, 0x2
- ands r4, r0
- adds r6, r4, 0
- adds r5, r4, 0x2
- b _0805D20E
- .pool
-_0805D20C:
- adds r4, 0x1
-_0805D20E:
- cmp r4, r5
- bge _0805D234
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- ldr r1, =gBattleMons + 0x48
- adds r0, r1
- ldr r0, [r0]
- bl GetNatureFromPersonality
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4, r0
- ldr r2, =gUnknown_0831C494
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, r7
- ble _0805D20C
-_0805D234:
- subs r7, r4, r6
- cmp r4, r5
- bne _0805D23C
- movs r7, 0x2
-_0805D23C:
- movs r6, 0
- movs r4, 0
- mov r1, r10
- ldrh r0, [r1]
- cmp r0, 0
- beq _0805D27C
- mov r5, r10
-_0805D24A:
- ldrh r0, [r5]
- bl sub_805D4A8
- lsls r0, 24
- lsrs r0, 24
- cmp r7, r0
- bne _0805D26E
- mov r0, r10
- adds r0, 0x8
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805D26E
- ldr r0, =gBitTable
- lsls r1, r4, 2
- adds r1, r0
- ldr r0, [r1]
- orrs r6, r0
-_0805D26E:
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- bgt _0805D27C
- ldrh r0, [r5]
- cmp r0, 0
- bne _0805D24A
-_0805D27C:
- cmp r6, 0
- beq _0805D2AC
- ldr r3, =gBattleStruct
- ldr r1, [r3]
- adds r1, 0x92
- ldrb r2, [r1]
- movs r0, 0xF
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r3]
- adds r1, 0x92
- lsls r0, r6, 4
- ldrb r2, [r1]
- orrs r0, r2
- strb r0, [r1]
- lsls r0, r6, 24
- lsrs r0, 24
- bl BattleAI_SetupAIData
- bl BattleAI_ChooseMoveOrAction
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_0805D2AC:
- movs r0, 0x1
- negs r0, r0
- cmp r9, r0
- beq _0805D2B6
- b _0805D40C
-_0805D2B6:
- mov r2, r8
- cmp r2, 0xF
- bne _0805D2BE
- b _0805D3EA
-_0805D2BE:
- movs r5, 0
- movs r6, 0
- ldr r7, =gBitTable
- mov r4, r10
-_0805D2C6:
- ldrh r0, [r4]
- bl sub_805D4A8
- lsls r0, 24
- cmp r0, 0
- bne _0805D2DE
- ldr r0, [r7]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _0805D2DE
- adds r5, 0x1
-_0805D2DE:
- ldrh r0, [r4]
- bl sub_805D4A8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0805D2F8
- ldr r0, [r7]
- mov r2, r8
- ands r0, r2
- cmp r0, 0
- bne _0805D2F8
- adds r5, 0x10
-_0805D2F8:
- ldrh r0, [r4]
- bl sub_805D4A8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0805D316
- ldr r0, [r7]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _0805D316
- movs r2, 0x80
- lsls r2, 1
- adds r5, r2
-_0805D316:
- adds r7, 0x4
- adds r4, 0x2
- ldr r0, =gBitTable
- adds r0, 0xC
- cmp r7, r0
- ble _0805D2C6
- movs r1, 0xF
- ands r1, r5
- cmp r1, 0x1
- ble _0805D32C
- adds r6, 0x1
-_0805D32C:
- movs r0, 0xF0
- ands r0, r5
- cmp r0, 0x1F
- ble _0805D336
- adds r6, 0x1
-_0805D336:
- ldr r2, =0x000001ff
- cmp r0, r2
- ble _0805D33E
- adds r6, 0x1
-_0805D33E:
- cmp r6, 0x1
- bgt _0805D346
- cmp r6, 0
- bne _0805D388
-_0805D346:
- ldr r5, =gBitTable
-_0805D348:
- bl Random
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r4, r1, 16
- lsls r0, r4, 2
- adds r0, r5
- ldr r0, [r0]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _0805D366
- mov r9, r4
-_0805D366:
- movs r0, 0x1
- negs r0, r0
- cmp r9, r0
- beq _0805D348
- b _0805D3D4
- .pool
-_0805D388:
- cmp r1, 0x1
- ble _0805D38E
- movs r6, 0
-_0805D38E:
- cmp r0, 0x1F
- ble _0805D394
- movs r6, 0x1
-_0805D394:
- cmp r0, r2
- ble _0805D39A
- movs r6, 0x2
-_0805D39A:
- bl Random
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r4, r1, 16
- ldr r1, =gBitTable
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- mov r2, r8
- ands r0, r2
- cmp r0, 0
- bne _0805D3CC
- lsls r0, r4, 1
- add r0, r10
- ldrh r0, [r0]
- bl sub_805D4A8
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bne _0805D3CC
- mov r9, r4
-_0805D3CC:
- movs r0, 0x1
- negs r0, r0
- cmp r9, r0
- beq _0805D39A
-_0805D3D4:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bls _0805D40C
-_0805D3EA:
- ldr r2, =gProtectStructs
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- lsls r1, 4
- adds r1, r2
- ldrb r0, [r1, 0x2]
- movs r2, 0x10
- orrs r0, r2
- strb r0, [r1, 0x2]
- movs r0, 0
- b _0805D496
- .pool
-_0805D40C:
- mov r1, r9
- lsls r0, r1, 1
- mov r2, r10
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0xAE
- bne _0805D434
- ldrb r0, [r2, 0x12]
- movs r5, 0
- cmp r0, 0x7
- beq _0805D442
- ldrb r1, [r2, 0x13]
- movs r0, 0x7
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- asrs r5, r0, 31
- movs r0, 0x10
- ands r5, r0
- b _0805D442
-_0805D434:
- ldr r2, =gBattleMoves
- ldrh r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r5, [r0, 0x6]
-_0805D442:
- movs r0, 0x10
- ands r0, r5
- cmp r0, 0
- beq _0805D45C
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 8
- b _0805D48A
- .pool
-_0805D45C:
- cmp r5, 0
- bne _0805D470
- bl sub_805D5F4
- lsls r0, 16
- lsrs r0, 16
- mov r2, r9
- orrs r2, r0
- mov r9, r2
- b _0805D490
-_0805D470:
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r2, 0x1
- movs r0, 0x1
- ands r0, r1
- eors r0, r2
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 16
-_0805D48A:
- mov r1, r9
- orrs r1, r0
- mov r9, r1
-_0805D490:
- mov r2, r9
- lsls r0, r2, 16
- lsrs r0, 16
-_0805D496:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ChooseMoveAndTargetInBattlePalace
-
- thumb_func_start sub_805D4A8
-sub_805D4A8: @ 805D4A8
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, =gBattleMoves
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x6]
- adds r3, r1, 0
- cmp r0, 0x40
- bls _0805D4C2
- b _0805D5EE
-_0805D4C2:
- lsls r0, 2
- ldr r1, =_0805D4D4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0805D4D4:
- .4byte _0805D5D8
- .4byte _0805D5E6
- .4byte _0805D5D8
- .4byte _0805D5EE
- .4byte _0805D5D8
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5D8
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EA
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5D8
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5E6
-_0805D5D8:
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _0805D5EE
-_0805D5E6:
- movs r0, 0x2
- b _0805D5F0
-_0805D5EA:
- movs r0, 0x1
- b _0805D5F0
-_0805D5EE:
- movs r0, 0
-_0805D5F0:
- pop {r1}
- bx r1
- thumb_func_end sub_805D4A8
-
- thumb_func_start sub_805D5F4
-sub_805D5F4: @ 805D5F4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805D6FA
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0805D630
- movs r0, 0x1
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x3
- b _0805D63E
- .pool
-_0805D630:
- movs r0, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x2
-_0805D63E:
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gBattleMons
- movs r2, 0x58
- mov r0, r8
- muls r0, r2
- adds r5, r0, r1
- adds r0, r7, 0
- muls r0, r2
- adds r6, r0, r1
- ldrh r0, [r5, 0x28]
- ldrh r3, [r6, 0x28]
- cmp r0, r3
- bne _0805D680
- bl Random
- adds r3, r0, 0
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- movs r2, 0x1
- movs r0, 0x1
- ands r0, r1
- eors r0, r2
- movs r1, 0x2
- ands r1, r3
- adds r0, r1
- b _0805D702
- .pool
-_0805D680:
- ldr r4, =gUnknown_0831C604
- ldr r0, =gActiveBank
- mov r9, r0
- ldrb r0, [r0]
- muls r0, r2
- adds r1, 0x48
- adds r0, r1
- ldr r0, [r0]
- bl GetNatureFromPersonality
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r4, [r0]
- cmp r4, 0x1
- beq _0805D6CC
- cmp r4, 0x1
- bgt _0805D6B4
- cmp r4, 0
- beq _0805D6BA
- b _0805D6FA
- .pool
-_0805D6B4:
- cmp r4, 0x2
- beq _0805D6DE
- b _0805D6FA
-_0805D6BA:
- ldrh r0, [r5, 0x28]
- ldrh r6, [r6, 0x28]
- cmp r0, r6
- bls _0805D6C8
- mov r1, r8
- lsls r0, r1, 8
- b _0805D704
-_0805D6C8:
- lsls r0, r7, 8
- b _0805D704
-_0805D6CC:
- ldrh r0, [r5, 0x28]
- ldrh r6, [r6, 0x28]
- cmp r0, r6
- bcs _0805D6DA
- mov r3, r8
- lsls r0, r3, 8
- b _0805D704
-_0805D6DA:
- lsls r0, r7, 8
- b _0805D704
-_0805D6DE:
- bl Random
- adds r3, r0, 0
- mov r0, r9
- ldrb r1, [r0]
- movs r2, 0x1
- movs r0, 0x1
- ands r0, r1
- eors r0, r2
- ands r4, r3
- adds r0, r4
- lsls r0, 24
- lsrs r0, 16
- b _0805D704
-_0805D6FA:
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- movs r0, 0x1
- eors r0, r1
-_0805D702:
- lsls r0, 8
-_0805D704:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_805D5F4
-
- thumb_func_start sub_805D714
-sub_805D714: @ 805D714
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r3, [r0]
- lsls r0, r3, 26
- cmp r0, 0
- bge _0805D766
- adds r0, r1, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- blt _0805D766
- adds r2, r1, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- lsls r0, r1, 25
- cmp r0, 0
- bge _0805D75C
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- b _0805D766
- .pool
-_0805D75C:
- lsls r0, r3, 27
- cmp r0, 0
- bge _0805D766
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_0805D766:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805D714
-
- thumb_func_start sub_805D770
-sub_805D770: @ 805D770
- 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, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
- cmp r1, 0
- bne _0805D798
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _0805D7A0
- .pool
-_0805D798:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_0805D7A0:
- adds r0, r4, 0
- bl AnimateSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_805D770
-
- thumb_func_start sub_805D7AC
-sub_805D7AC: @ 805D7AC
- push {lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_020243FC
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0805D7E4
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
- lsls r0, 16
- cmp r0, 0
- bne _0805D7E4
- movs r1, 0x26
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _0805D7E0
- ldr r0, =sub_805D7EC
- b _0805D7E2
- .pool
-_0805D7E0:
- ldr r0, =SpriteCallbackDummy
-_0805D7E2:
- str r0, [r2, 0x1C]
-_0805D7E4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805D7AC
-
- thumb_func_start sub_805D7EC
-sub_805D7EC: @ 805D7EC
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x26]
- subs r0, 0x2
- strh r0, [r1, 0x26]
- lsls r0, 16
- cmp r0, 0
- bne _0805D800
- ldr r0, =SpriteCallbackDummy
- str r0, [r1, 0x1C]
-_0805D800:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805D7EC
-
- thumb_func_start DoStatusAnimation
-DoStatusAnimation: @ 805D808
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- ldr r6, =gBattleSpritesDataPtr
- ldr r1, [r6]
- ldr r5, =gActiveBank
- 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 _0805D888
- cmp r4, 0x20
- bne _0805D844
- ldrb r0, [r5]
- movs r1, 0x6
- bl move_anim_start_t2
- b _0805D902
- .pool
-_0805D844:
- cmp r4, 0x8
- beq _0805D850
- movs r0, 0x80
- ands r0, r4
- cmp r0, 0
- beq _0805D85A
-_0805D850:
- ldrb r0, [r5]
- movs r1, 0
- bl move_anim_start_t2
- b _0805D902
-_0805D85A:
- cmp r4, 0x10
- bne _0805D868
- ldrb r0, [r5]
- movs r1, 0x2
- bl move_anim_start_t2
- b _0805D902
-_0805D868:
- movs r0, 0x7
- ands r0, r4
- cmp r0, 0
- beq _0805D87A
- ldrb r0, [r5]
- movs r1, 0x4
- bl move_anim_start_t2
- b _0805D902
-_0805D87A:
- cmp r4, 0x40
- bne _0805D8EA
- ldrb r0, [r5]
- movs r1, 0x5
- bl move_anim_start_t2
- b _0805D902
-_0805D888:
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r4
- cmp r0, 0
- beq _0805D89C
- ldrb r0, [r5]
- movs r1, 0x3
- bl move_anim_start_t2
- b _0805D902
-_0805D89C:
- movs r0, 0x7
- ands r0, r4
- cmp r0, 0
- beq _0805D8AE
- ldrb r0, [r5]
- movs r1, 0x1
- bl move_anim_start_t2
- b _0805D902
-_0805D8AE:
- movs r0, 0x80
- lsls r0, 21
- ands r0, r4
- cmp r0, 0
- beq _0805D8C2
- ldrb r0, [r5]
- movs r1, 0x7
- bl move_anim_start_t2
- b _0805D902
-_0805D8C2:
- movs r0, 0x80
- lsls r0, 20
- ands r0, r4
- cmp r0, 0
- beq _0805D8D6
- ldrb r0, [r5]
- movs r1, 0x8
- bl move_anim_start_t2
- b _0805D902
-_0805D8D6:
- movs r0, 0xE0
- lsls r0, 8
- ands r0, r4
- cmp r0, 0
- beq _0805D8EA
- ldrb r0, [r5]
- movs r1, 0x9
- bl move_anim_start_t2
- b _0805D902
-_0805D8EA:
- 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]
-_0805D902:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end DoStatusAnimation
-
- thumb_func_start DoBattleAnimationFromTable
-DoBattleAnimationFromTable: @ 805D908
- 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 _0805D950
- movs r0, 0x80
- ands r0, r7
- cmp r0, 0
- beq _0805D950
- ldr r0, =gBattleMonForms
- adds r0, r6, r0
- movs r2, 0x7F
- adds r1, r7, 0
- ands r1, r2
- strb r1, [r0]
- movs r0, 0x1
- b _0805DA1E
- .pool
-_0805D950:
- ldr r0, =gBattleSpritesDataPtr
- 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 _0805D9CC
- adds r0, r5, 0
- bl sub_805DAA0
- lsls r0, 24
- cmp r0, 0
- bne _0805D980
- movs r0, 0x1
- b _0805DA1E
- .pool
-_0805D980:
- 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 _0805D9CC
- cmp r5, 0x2
- bne _0805D9CC
- ldr r1, =gSprites
- ldr r0, =gBankSpriteIds
- 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 _0805D9CC
- adds r0, r6, 0
- movs r1, 0x1
- bl refresh_graphics_maybe
- adds r0, r6, 0
- bl sub_805E974
- movs r0, 0x1
- b _0805DA1E
- .pool
-_0805D9CC:
- ldr r0, =gAnimBankAttacker
- mov r2, r10
- strb r2, [r0]
- ldr r0, =gAnimBankTarget
- mov r1, sp
- ldrb r1, [r1]
- strb r1, [r0]
- ldr r4, =gBattleSpritesDataPtr
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- strh r7, [r0]
- ldr r0, =gUnknown_082C9320
- adds r1, r5, 0
- movs r2, 0
- bl LaunchBattleAnimation
- ldr r0, =task0A_0803415C
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =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
-_0805DA1E:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end DoBattleAnimationFromTable
-
- thumb_func_start task0A_0803415C
-task0A_0803415C: @ 805DA48
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gAnimScriptCallback
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805DA8A
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r1, =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
-_0805DA8A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task0A_0803415C
-
- thumb_func_start sub_805DAA0
-sub_805DAA0: @ 805DAA0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD
- bgt _0805DAB4
- cmp r0, 0xA
- bge _0805DAB8
- cmp r0, 0x2
- beq _0805DAB8
- b _0805DABC
-_0805DAB4:
- cmp r0, 0x11
- bne _0805DABC
-_0805DAB8:
- movs r0, 0x1
- b _0805DABE
-_0805DABC:
- movs r0, 0
-_0805DABE:
- pop {r1}
- bx r1
- thumb_func_end sub_805DAA0
-
- thumb_func_start DoSpecialBattleAnimation
-DoSpecialBattleAnimation: @ 805DAC4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =gAnimBankAttacker
- strb r1, [r0]
- ldr r0, =gAnimBankTarget
- strb r2, [r0]
- ldr r0, =gUnknown_082C937C
- adds r1, r3, 0
- movs r2, 0
- bl LaunchBattleAnimation
- ldr r0, =task0A_08034248
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- ldr r0, =gBattleSpritesDataPtr
- 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
- .pool
- thumb_func_end DoSpecialBattleAnimation
-
- thumb_func_start task0A_08034248
-task0A_08034248: @ 805DB34
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gAnimScriptCallback
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805DB76
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r1, =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
-_0805DB76:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task0A_08034248
-
- thumb_func_start IsMoveWithoutAnimation
-IsMoveWithoutAnimation: @ 805DB8C
- movs r0, 0
- bx lr
- thumb_func_end IsMoveWithoutAnimation
-
- thumb_func_start mplay_80342A4
-mplay_80342A4: @ 805DB90
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- beq _0805DBD8
- ldr r2, =gBattleSpritesDataPtr
- 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, =gActiveBank
- 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 _0805DBDC
- ldr r0, =gMPlay_SE1
- bl m4aMPlayStop
- ldr r0, =gMPlay_SE2
- bl m4aMPlayStop
-_0805DBD8:
- cmp r5, 0
- beq _0805DBF0
-_0805DBDC:
- movs r0, 0x1
- b _0805DC02
- .pool
-_0805DBF0:
- ldr r0, =gBattleSpritesDataPtr
- 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
-_0805DC02:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end mplay_80342A4
-
- thumb_func_start BattleLoadOpponentMonSpriteGfx
-BattleLoadOpponentMonSpriteGfx: @ 805DC0C
- 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, =gBattleSpritesDataPtr
- 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 _0805DC50
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r6, [sp]
- b _0805DC58
- .pool
-_0805DC50:
- ldrh r5, [r2, 0x2]
- ldr r0, =gTransformedPersonalities
- adds r0, r1, r0
- ldr r6, [r0]
-_0805DC58:
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- mov r10, r0
- mov r0, r8
- bl GetBankIdentity
- lsls r0, 24
- lsls r2, r5, 3
- ldr r1, =gMonFrontPicTable
- adds r2, r1
- ldr r1, =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, =gBattleSpritesDataPtr
- 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 _0805DCBC
- adds r0, r4, 0
- bl pokemon_get_pal
- b _0805DCC6
- .pool
-_0805DCBC:
- adds r0, r5, 0
- mov r1, r10
- ldr r2, [sp]
- bl species_and_otid_get_pal
-_0805DCC6:
- adds r6, r0, 0
- ldr r4, =0x0201c000
- 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
- ldr r0, =0x00000181
- cmp r5, r0
- bne _0805DD1A
- movs r7, 0x80
- lsls r7, 1
- add r7, r9
- ldr r5, =gBattleStruct
- ldr r1, [r5]
- movs r4, 0x80
- lsls r4, 1
- adds r1, r4
- adds r0, r6, 0
- bl LZDecompressWram
- ldr r0, =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
-_0805DD1A:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- ldr r1, [sp, 0x4]
- adds r0, r1, r0
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _0805DD46
- ldr r3, =0x00007fff
- adds r0, r7, 0
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
- lsls r1, r7, 1
- ldr r0, =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, =gPlttBufferUnfaded
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
-_0805DD46:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BattleLoadOpponentMonSpriteGfx
-
- thumb_func_start BattleLoadPlayerMonSpriteGfx
-BattleLoadPlayerMonSpriteGfx: @ 805DD7C
- 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, =gBattleSpritesDataPtr
- 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 _0805DDC0
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r4, [sp]
- b _0805DDC8
- .pool
-_0805DDC0:
- ldrh r5, [r2, 0x2]
- ldr r0, =gTransformedPersonalities
- adds r0, r1, r0
- ldr r4, [r0]
-_0805DDC8:
- adds r0, r6, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [sp, 0x4]
- mov r0, r8
- bl GetBankIdentity
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0x1
- mov r1, r8
- bl sub_80688F8
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- lsls r1, 2
- mov r10, r1
- cmp r0, 0x1
- beq _0805DE00
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- add r0, r10
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _0805DE2C
-_0805DE00:
- lsls r0, r5, 3
- ldr r1, =gMonBackPicTable
- adds r0, r1
- ldr r1, =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 _0805DE46
- .pool
-_0805DE2C:
- lsls r0, r5, 3
- ldr r1, =gMonBackPicTable
- adds r0, r1
- ldr r1, =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
-_0805DE46:
- mov r2, r8
- lsls r1, r2, 4
- movs r0, 0x80
- lsls r0, 1
- adds r7, r1, r0
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- add r0, r10
- ldrh r0, [r0, 0x2]
- mov r9, r1
- cmp r0, 0
- bne _0805DE74
- adds r0, r6, 0
- bl pokemon_get_pal
- b _0805DE7E
- .pool
-_0805DE74:
- adds r0, r5, 0
- ldr r1, [sp, 0x4]
- ldr r2, [sp]
- bl species_and_otid_get_pal
-_0805DE7E:
- adds r6, r0, 0
- ldr r4, =0x0201c000
- 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
- ldr r0, =0x00000181
- cmp r5, r0
- bne _0805DED2
- movs r7, 0x80
- lsls r7, 1
- add r7, r9
- ldr r5, =gBattleStruct
- ldr r1, [r5]
- movs r4, 0x80
- lsls r4, 1
- adds r1, r4
- adds r0, r6, 0
- bl LZDecompressWram
- ldr r0, =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
-_0805DED2:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- add r0, r10
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _0805DEFC
- ldr r3, =0x00007fff
- adds r0, r7, 0
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
- lsls r1, r7, 1
- ldr r0, =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, =gPlttBufferUnfaded
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
-_0805DEFC:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BattleLoadPlayerMonSpriteGfx
-
- thumb_func_start nullsub_23
-nullsub_23: @ 805DF30
- bx lr
- thumb_func_end nullsub_23
-
- thumb_func_start nullsub_24
-nullsub_24: @ 805DF34
- bx lr
- thumb_func_end nullsub_24
-
- thumb_func_start DecompressTrainerFrontPic
-DecompressTrainerFrontPic: @ 805DF38
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 24
- lsrs r0, 24
- bl GetBankIdentity
- lsls r0, 24
- lsls r4, 3
- ldr r2, =gTrainerFrontPicTable
- adds r2, r4, r2
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsrs r0, 22
- adds r1, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r2, 0
- movs r2, 0
- bl DecompressPicFromTable_2
- ldr r0, =gTrainerFrontPicPaletteTable
- adds r4, r0
- adds r0, r4, 0
- bl LoadCompressedObjectPalette
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DecompressTrainerFrontPic
-
- thumb_func_start DecompressTrainerBackPic
-DecompressTrainerBackPic: @ 805DF84
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl GetBankIdentity
- lsls r0, 24
- lsls r5, 3
- ldr r2, =gTrainerBackPicTable
- adds r2, r5, r2
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsrs r0, 22
- adds r1, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r2, 0
- movs r2, 0
- bl DecompressPicFromTable_2
- ldr r0, =gTrainerBackPicPaletteTable
- adds r5, r0
- ldr r0, [r5]
- lsls r4, 20
- movs r1, 0x80
- lsls r1, 17
- adds r4, r1
- lsrs r4, 16
- adds r1, r4, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DecompressTrainerBackPic
-
- thumb_func_start nullsub_25
-nullsub_25: @ 805DFE0
- bx lr
- thumb_func_end nullsub_25
-
- thumb_func_start FreeTrainerFrontPicPalette
-FreeTrainerFrontPicPalette: @ 805DFE4
- push {lr}
- lsls r0, 16
- ldr r1, =gTrainerFrontPicPaletteTable
- lsrs r0, 13
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .pool
- thumb_func_end FreeTrainerFrontPicPalette
-
- thumb_func_start sub_805DFFC
-sub_805DFFC: @ 805DFFC
- push {r4-r7,lr}
- ldr r4, =gUnknown_0832C128
- adds r0, r4, 0
- bl LoadSpritePalette
- adds r4, 0x8
- adds r0, r4, 0
- bl LoadSpritePalette
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0805E034
- ldr r0, =gUnknown_0832C0D0
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0832C0D8
- bl LoadCompressedObjectPic
- movs r5, 0x2
- b _0805E056
- .pool
-_0805E034:
- ldr r4, =gUnknown_0832C0E0
- adds r0, r4, 0
- bl LoadCompressedObjectPic
- adds r4, 0x8
- adds r0, r4, 0
- bl LoadCompressedObjectPic
- ldr r4, =gUnknown_0832C0F0
- adds r0, r4, 0
- bl LoadCompressedObjectPic
- adds r4, 0x8
- adds r0, r4, 0
- bl LoadCompressedObjectPic
- movs r5, 0x4
-_0805E056:
- movs r4, 0
- cmp r4, r5
- bcs _0805E076
- ldr r7, =gBanksByIdentity
- ldr r6, =gUnknown_0832C108
-_0805E060:
- adds r0, r4, r7
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r6
- bl LoadCompressedObjectPic
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _0805E060
-_0805E076:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805DFFC
-
- thumb_func_start BattleLoadAllHealthBoxesGfx
-BattleLoadAllHealthBoxesGfx: @ 805E08C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- movs r6, 0
- cmp r4, 0
- bne _0805E09C
- b _0805E1AE
-_0805E09C:
- cmp r4, 0x1
- bne _0805E0B8
- ldr r4, =gUnknown_0832C128
- adds r0, r4, 0
- bl LoadSpritePalette
- adds r4, 0x8
- adds r0, r4, 0
- bl LoadSpritePalette
- b _0805E1AE
- .pool
-_0805E0B8:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0805E120
- cmp r4, 0x2
- bne _0805E0F0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0805E0E4
- ldr r0, =gUnknown_0832C100
- bl LoadCompressedObjectPic
- b _0805E1AE
- .pool
-_0805E0E4:
- ldr r0, =gUnknown_0832C0D0
- bl LoadCompressedObjectPic
- b _0805E1AE
- .pool
-_0805E0F0:
- cmp r4, 0x3
- bne _0805E100
- ldr r0, =gUnknown_0832C0D8
- bl LoadCompressedObjectPic
- b _0805E1AE
- .pool
-_0805E100:
- cmp r4, 0x4
- bne _0805E110
- ldr r0, =gBanksByIdentity
- ldrb r0, [r0]
- b _0805E198
- .pool
-_0805E110:
- cmp r4, 0x5
- bne _0805E1AC
- ldr r0, =gBanksByIdentity
- ldrb r0, [r0, 0x1]
- b _0805E198
- .pool
-_0805E120:
- cmp r4, 0x2
- bne _0805E130
- ldr r0, =gUnknown_0832C0E0
- bl LoadCompressedObjectPic
- b _0805E1AE
- .pool
-_0805E130:
- cmp r4, 0x3
- bne _0805E140
- ldr r0, =gUnknown_0832C0E8
- bl LoadCompressedObjectPic
- b _0805E1AE
- .pool
-_0805E140:
- cmp r4, 0x4
- bne _0805E150
- ldr r0, =gUnknown_0832C0F0
- bl LoadCompressedObjectPic
- b _0805E1AE
- .pool
-_0805E150:
- cmp r4, 0x5
- bne _0805E160
- ldr r0, =gUnknown_0832C0F8
- bl LoadCompressedObjectPic
- b _0805E1AE
- .pool
-_0805E160:
- cmp r4, 0x6
- bne _0805E170
- ldr r0, =gBanksByIdentity
- ldrb r0, [r0]
- b _0805E198
- .pool
-_0805E170:
- cmp r4, 0x7
- bne _0805E180
- ldr r0, =gBanksByIdentity
- ldrb r0, [r0, 0x1]
- b _0805E198
- .pool
-_0805E180:
- cmp r4, 0x8
- bne _0805E190
- ldr r0, =gBanksByIdentity
- ldrb r0, [r0, 0x2]
- b _0805E198
- .pool
-_0805E190:
- cmp r5, 0x9
- bne _0805E1AC
- ldr r0, =gBanksByIdentity
- ldrb r0, [r0, 0x3]
-_0805E198:
- lsls r0, 3
- ldr r1, =gUnknown_0832C108
- adds r0, r1
- bl LoadCompressedObjectPic
- b _0805E1AE
- .pool
-_0805E1AC:
- movs r6, 0x1
-_0805E1AE:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end BattleLoadAllHealthBoxesGfx
-
- thumb_func_start LoadBattleBarGfx
-LoadBattleBarGfx: @ 805E1B8
- push {lr}
- ldr r0, =gUnknown_08C093F0
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r2, 0xBA
- lsls r2, 1
- adds r1, r2
- ldr r1, [r1]
- bl LZDecompressWram
- pop {r0}
- bx r0
- .pool
- thumb_func_end LoadBattleBarGfx
-
- thumb_func_start BattleInitAllSprites
-BattleInitAllSprites: @ 805E1D8
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r6, 0
- ldrb r0, [r5]
- cmp r0, 0x6
- bls _0805E1E8
- b _0805E346
-_0805E1E8:
- lsls r0, 2
- ldr r1, =_0805E1F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0805E1F8:
- .4byte _0805E214
- .4byte _0805E21A
- .4byte _0805E324
- .4byte _0805E230
- .4byte _0805E260
- .4byte _0805E29C
- .4byte _0805E33C
-_0805E214:
- bl sub_805E378
- b _0805E324
-_0805E21A:
- ldrb r0, [r4]
- bl BattleLoadAllHealthBoxesGfx
- lsls r0, 24
- cmp r0, 0
- beq _0805E228
- b _0805E320
-_0805E228:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0805E346
-_0805E230:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0805E24C
- ldrb r0, [r4]
- cmp r0, 0
- bne _0805E24C
- bl CreateSafariPlayerHealthboxSprites
- b _0805E252
- .pool
-_0805E24C:
- ldrb r0, [r4]
- bl CreateBankHealthboxSprites
-_0805E252:
- ldr r2, =gHealthBoxesIds
- ldrb r1, [r4]
- adds r1, r2
- strb r0, [r1]
- b _0805E30E
- .pool
-_0805E260:
- ldrb r0, [r4]
- bl SetBankHealthboxSpritePos
- ldr r0, =gBanksByIdentity
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _0805E288
- ldr r0, =gHealthBoxesIds
- adds r0, r1, r0
- ldrb r0, [r0]
- movs r1, 0
- bl DummyBattleInterfaceFunc
- b _0805E30E
- .pool
-_0805E288:
- ldr r0, =gHealthBoxesIds
- adds r0, r1, r0
- ldrb r0, [r0]
- movs r1, 0x1
- bl DummyBattleInterfaceFunc
- b _0805E30E
- .pool
-_0805E29C:
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0805E2E4
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0805E302
- ldr r0, =gHealthBoxesIds
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
- b _0805E302
- .pool
-_0805E2E4:
- ldr r0, =gHealthBoxesIds
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, =gEnemyParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
-_0805E302:
- ldr r1, =gHealthBoxesIds
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
-_0805E30E:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, =gNoOfAllBanks
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _0805E346
-_0805E320:
- movs r0, 0
- strb r0, [r4]
-_0805E324:
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _0805E346
- .pool
-_0805E33C:
- bl LoadAndCreateEnemyShadowSprites
- bl sub_81B8C68
- movs r6, 0x1
-_0805E346:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end BattleInitAllSprites
-
- thumb_func_start sub_805E350
-sub_805E350: @ 805E350
- push {r4,lr}
- ldr r4, =gBattleSpritesDataPtr
- 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
- .pool
- thumb_func_end sub_805E350
-
- thumb_func_start sub_805E378
-sub_805E378: @ 805E378
- push {lr}
- bl sub_805E350
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0x10
- bl memset
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805E378
-
- thumb_func_start sub_805E394
-sub_805E394: @ 805E394
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r4, 0
- ldr r5, =gNoOfAllBanks
- ldrb r0, [r5]
- cmp r4, r0
- bge _0805E3EA
- ldr r0, =gSprites
- mov r9, r0
- movs r0, 0x1
- mov r12, r0
- movs r0, 0x2
- negs r0, r0
- mov r8, r0
- ldr r7, =gBattleSpritesDataPtr
- ldr r6, =gBankSpriteIds
-_0805E3B8:
- 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 _0805E3B8
-_0805E3EA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805E394
-
- thumb_func_start CopyBattleSpriteInvisibility
-CopyBattleSpriteInvisibility: @ 805E408
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gBattleSpritesDataPtr
- ldr r1, [r1]
- ldr r1, [r1]
- lsls r3, r0, 2
- adds r3, r1
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- 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
- .pool
- thumb_func_end CopyBattleSpriteInvisibility
-
- thumb_func_start sub_805E448
-sub_805E448: @ 805E448
- 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
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- lsls r2, 24
- cmp r2, 0
- beq _0805E51C
- ldr r0, =gBankSpriteIds
- adds r5, r7, r0
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- mov r8, r1
- add r0, r8
- ldr r4, =gBattleSpritesDataPtr
- ldr r1, [r4]
- ldr r1, [r1, 0x8]
- ldrb r1, [r1]
- bl StartSpriteAnim
- lsls r0, r7, 20
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r6, r0, 16
- ldr r2, =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
- adds r1, r6, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gBattleMonForms
- adds r1, r7, r1
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r0, [r4]
- ldr r1, [r0]
- lsls r0, r7, 2
- adds r0, r1
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _0805E4DE
- ldr r3, =0x00007fff
- adds r0, r6, 0
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
- lsls r1, r6, 1
- ldr r0, =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, =gPlttBufferUnfaded
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
-_0805E4DE:
- adds r0, r7, 0
- bl sub_80A6138
- ldrb r2, [r5]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- add r1, r8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x22]
- b _0805E77A
- .pool
-_0805E51C:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0805E558
- movs r0, 0
- mov r10, r0
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0, 0x18]
- ldrh r1, [r2, 0x2]
- mov r8, r1
- ldr r3, [r2, 0x8]
- mov r9, r3
- ldr r4, [r2, 0xC]
- lsls r0, r1, 3
- ldr r1, =gMonBackPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- ldr r1, [r1, 0x4]
- ldr r3, [r2, 0x10]
- b _0805E5FA
- .pool
-_0805E558:
- adds r0, r7, 0
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, [sp]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0805E58C
- ldr r1, =gBattlePartyID
- ldr r2, [sp]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _0805E59C
- .pool
-_0805E58C:
- ldr r1, =gBattlePartyID
- ldr r3, [sp]
- lsls r0, r3, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_0805E59C:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r0, r7, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0805E618
- ldr r0, =gBattlePartyID
- lsls r4, r7, 1
- adds r4, r0
- ldrh r0, [r4]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0
- bl GetMonData
- mov r9, r0
- ldrh r0, [r4]
- muls r0, r6
- adds r0, r5
- movs r1, 0x1
- bl GetMonData
- adds r4, r0, 0
- mov r1, r8
- lsls r0, r1, 3
- ldr r1, =gMonBackPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- mov r3, r10
- lsls r2, r3, 2
- adds r1, 0x4
- adds r1, r2
- ldr r1, [r1]
- ldr r3, =gTransformedPersonalities
- lsls r2, r7, 2
- adds r2, r3
- ldr r3, [r2]
-_0805E5FA:
- mov r2, r8
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
- b _0805E662
- .pool
-_0805E618:
- ldr r0, =gBattlePartyID
- lsls r4, r7, 1
- adds r4, r0
- ldrh r0, [r4]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gEnemyParty
- adds r0, r5
- movs r1, 0
- bl GetMonData
- mov r9, r0
- ldrh r0, [r4]
- muls r0, r6
- adds r0, r5
- movs r1, 0x1
- bl GetMonData
- adds r4, r0, 0
- mov r1, r8
- lsls r0, r1, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- mov r3, r10
- lsls r2, r3, 2
- adds r1, 0x4
- adds r1, r2
- ldr r1, [r1]
- ldr r3, =gTransformedPersonalities
- lsls r2, r7, 2
- adds r2, r3
- ldr r3, [r2]
- mov r2, r8
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
-_0805E662:
- ldr r0, =gMonSpritesGfxPtr
- ldr r0, [r0]
- mov r2, r10
- lsls r1, r2, 2
- adds r0, 0x4
- adds r0, r1
- ldr r2, [r0]
- ldr r0, =gBankSpriteIds
- adds r0, r7
- mov r10, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r3, =gSprites
- adds r0, r3
- ldrh r0, [r0, 0x4]
- lsls r0, 22
- lsrs r0, 17
- ldr r1, =0x06010000
- adds r0, r1
- ldr r1, =0x040000d4
- str r2, [r1]
- str r0, [r1, 0x4]
- ldr r0, =0x84000200
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- lsls r0, r7, 20
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r6, r0, 16
- mov r0, r8
- adds r1, r4, 0
- mov r2, r9
- bl species_and_otid_get_pal
- mov r9, r0
- ldr r4, =0x0201c000
- adds r1, r4, 0
- bl LZDecompressWram
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =0x00000181
- cmp r8, r0
- bne _0805E70A
- mov r2, r10
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r1, 0x8
- adds r0, r1
- ldr r1, =gMonAnimationsSpriteAnimsPtrTable
- mov r3, r8
- lsls r2, r3, 2
- adds r1, r2
- ldr r1, [r1]
- str r1, [r0]
- ldr r5, =gBattleStruct
- ldr r1, [r5]
- movs r4, 0x80
- lsls r4, 1
- adds r1, r4
- mov r0, r9
- bl LZDecompressWram
- ldr r0, =gBattleMonForms
- ldr r1, [sp]
- adds r0, r1, r0
- ldrb r1, [r0]
- lsls r1, 5
- adds r1, r4
- ldr r0, [r5]
- adds r0, r1
- adds r1, r6, 0
- movs r2, 0x20
- bl LoadPalette
-_0805E70A:
- ldr r3, =0x00007fff
- adds r0, r6, 0
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
- lsls r1, r6, 1
- ldr r0, =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, =gPlttBufferUnfaded
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0805E74A
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r7, 2
- adds r0, r1
- mov r2, r8
- strh r2, [r0, 0x2]
- ldr r0, =gBattleMonForms
- adds r1, r7, r0
- ldr r3, [sp]
- adds r0, r3, r0
- ldrb r0, [r0]
- strb r0, [r1]
-_0805E74A:
- adds r0, r7, 0
- bl sub_80A6138
- mov r1, r10
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r2, =gSprites
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x22]
- mov r3, r10
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =gBattleMonForms
- adds r1, r7, r1
- ldrb r1, [r1]
- bl StartSpriteAnim
-_0805E77A:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805E448
-
- thumb_func_start BattleLoadSubstituteSpriteGfx
-BattleLoadSubstituteSpriteGfx: @ 805E7DC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- lsls r1, 24
- cmp r1, 0
- bne _0805E898
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0805E7F8
- movs r4, 0
- b _0805E802
-_0805E7F8:
- adds r0, r4, 0
- bl GetBankIdentity
- lsls r0, 24
- lsrs r4, r0, 24
-_0805E802:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0805E814
- ldr r0, =gUnknown_08C2D120
- b _0805E822
- .pool
-_0805E814:
- adds r0, r5, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _0805E83C
- ldr r0, =gUnknown_08C2CEE0
-_0805E822:
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsls r4, 2
- adds r1, 0x4
- adds r1, r4
- ldr r1, [r1]
- bl LZDecompressVram
- b _0805E84E
- .pool
-_0805E83C:
- ldr r0, =gUnknown_08C2D120
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsls r4, 2
- adds r1, 0x4
- adds r1, r4
- ldr r1, [r1]
- bl LZDecompressVram
-_0805E84E:
- movs r3, 0x1
- lsls r6, r5, 4
- ldr r7, =gUnknown_08C2CEBC
- ldr r0, =gMonSpritesGfxPtr
- ldr r0, [r0]
- adds r0, 0x4
- adds r4, r0, r4
- ldr r2, =0x040000d4
- ldr r5, =0x84000200
-_0805E860:
- 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 _0805E860
- movs r0, 0x80
- lsls r0, 1
- adds r1, r6, r0
- adds r0, r7, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- b _0805E8E6
- .pool
-_0805E898:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0805E8E6
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _0805E8D0
- ldr r1, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- adds r1, r4, 0
- bl BattleLoadOpponentMonSpriteGfx
- b _0805E8E6
- .pool
-_0805E8D0:
- ldr r1, =gBattlePartyID
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r5, 0
- bl BattleLoadPlayerMonSpriteGfx
-_0805E8E6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BattleLoadSubstituteSpriteGfx
-
- thumb_func_start refresh_graphics_maybe
-refresh_graphics_maybe: @ 805E8F4
- 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 BattleLoadSubstituteSpriteGfx
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r4, r0, r1
- ldr r0, =gBattleMonForms
- adds r0, r6, r0
- ldrb r1, [r0]
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- bne _0805E938
- adds r0, r6, 0
- bl sub_80A614C
- b _0805E93E
- .pool
-_0805E938:
- adds r0, r6, 0
- bl sub_80A6138
-_0805E93E:
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end refresh_graphics_maybe
-
- thumb_func_start TrySetBehindSubstituteSpriteBit
-TrySetBehindSubstituteSpriteBit: @ 805E94C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xA4
- bne _0805E96C
- ldr r0, =gBattleSpritesDataPtr
- 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]
-_0805E96C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end TrySetBehindSubstituteSpriteBit
-
- thumb_func_start sub_805E974
-sub_805E974: @ 805E974
- lsls r0, 24
- ldr r1, =gBattleSpritesDataPtr
- 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
- .pool
- thumb_func_end sub_805E974
-
- thumb_func_start sub_805E990
-sub_805E990: @ 805E990
- 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 _0805EA08
- ldr r7, =gBattleSpritesDataPtr
- 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 _0805EA5A
- 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 _0805E9F6
- movs r0, 0x5A
- bl PlaySE
-_0805E9F6:
- ldr r0, [r7]
- ldr r1, [r0]
- adds r1, r4, r1
- ldrb r0, [r1]
- orrs r0, r5
- strb r0, [r1]
- b _0805EA5A
- .pool
-_0805EA08:
- ldr r4, =gBattleSpritesDataPtr
- 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 IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0805EA34
- movs r0, 0x5A
- bl m4aSongNumStop
- b _0805EA5A
- .pool
-_0805EA34:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0805EA5A
- 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 _0805EA5A
- movs r0, 0x5A
- bl m4aSongNumStop
-_0805EA5A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_805E990
-
- thumb_func_start BattleMusicStop
-BattleMusicStop: @ 805EA60
- push {r4-r6,lr}
- movs r0, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, =gBattleSpritesDataPtr
- 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 IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0805EAA2
- 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]
-_0805EAA2:
- movs r0, 0x5A
- bl m4aSongNumStop
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BattleMusicStop
-
- thumb_func_start sub_805EAB4
-sub_805EAB4: @ 805EAB4
- 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 sub_805EAB4
-
- thumb_func_start sub_805EAE8
-sub_805EAE8: @ 805EAE8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0805EB7E
- movs r0, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x2
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r5, =gBattlePartyID
- 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, =gPlayerParty
- adds r4, r0, r6
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0805EB5A
- adds r0, r4, 0
- mov r1, r8
- bl sub_805E990
-_0805EB5A:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0805EB7E
- adds r0, r5, 0
- muls r0, r7
- adds r4, r0, r6
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0805EB7E
- adds r0, r4, 0
- mov r1, r9
- bl sub_805E990
-_0805EB7E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805EAE8
-
- thumb_func_start sub_805EB9C
-sub_805EB9C: @ 805EB9C
- 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, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r5, r0
- bge _0805EC6C
- 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
-_0805EBC8:
- lsls r0, r5, 24
- lsrs r0, 24
- bl IsBankSpritePresent
- lsls r0, 24
- cmp r0, 0
- beq _0805EC60
- ldr r4, =gSprites
- ldr r0, =gBankSpriteIds
- 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 _0805EC3C
- ldr r0, =gBattleSpritesDataPtr
- 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 _0805EC60
- .pool
-_0805EC3C:
- ldrb r0, [r3]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- ldr r0, =gBattleSpritesDataPtr
- 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]
-_0805EC60:
- adds r6, 0xC
- adds r5, 0x1
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r5, r0
- blt _0805EBC8
-_0805EC6C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805EB9C
-
- thumb_func_start LoadAndCreateEnemyShadowSprites
-LoadAndCreateEnemyShadowSprites: @ 805EC84
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gUnknown_0831C6A0
- bl LoadCompressedObjectPic
- movs r0, 0x1
- bl GetBankByIdentity
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0831C6B0
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A5C6C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A5C6C
- 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, =gBattleSpritesDataPtr
- 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, =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 IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0805ED56
- movs r0, 0x3
- bl GetBankByIdentity
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A5C6C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A5C6C
- 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]
-_0805ED56:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LoadAndCreateEnemyShadowSprites
-
- thumb_func_start sub_805ED70
-@ int sub_805ED70(obj *a1)
-sub_805ED70: @ 805ED70
- 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, =gBankSpriteIds
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =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 _0805EDAC
- adds r0, r4, 0
- bl IsBankSpritePresent
- lsls r0, 24
- cmp r0, 0
- bne _0805EDC0
-_0805EDAC:
- ldr r0, =sub_805EE48
- str r0, [r5, 0x1C]
- b _0805EE36
- .pool
-_0805EDC0:
- ldr r0, =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805EDD2
- ldrb r1, [r6]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0805EDE4
-_0805EDD2:
- movs r0, 0x1
- mov r8, r0
- ldr r2, =gBattleSpritesDataPtr
- lsls r4, 2
- b _0805EE06
- .pool
-_0805EDE4:
- ldr r2, =gBattleSpritesDataPtr
- 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 _0805EE06
- ldr r0, =gEnemyMonElevation
- ldrh r1, [r3, 0x2]
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805EE06
- movs r0, 0x1
- mov r8, r0
-_0805EE06:
- ldr r0, [r2]
- ldr r0, [r0]
- adds r0, r4, r0
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0805EE1A
- movs r0, 0x1
- mov r8, r0
-_0805EE1A:
- 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]
-_0805EE36:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805ED70
-
- thumb_func_start sub_805EE48
-sub_805EE48: @ 805EE48
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- bx lr
- thumb_func_end sub_805EE48
-
- thumb_func_start SetBankEnemyShadowSpriteCallback
-SetBankEnemyShadowSpriteCallback: @ 805EE54
- 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 GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _0805EED0
- ldr r0, =gBattleSpritesDataPtr
- ldr r3, [r0]
- ldr r1, [r3]
- lsls r0, r4, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _0805EE7E
- adds r5, r0, 0
-_0805EE7E:
- ldr r0, =gEnemyMonElevation
- adds r0, r5, r0
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805EEB4
- ldr r2, =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, =sub_805ED70
- b _0805EECE
- .pool
-_0805EEB4:
- ldr r2, =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, =sub_805EE48
-_0805EECE:
- str r1, [r0]
-_0805EED0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetBankEnemyShadowSpriteCallback
-
- thumb_func_start sub_805EEE0
-sub_805EEE0: @ 805EEE0
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- ldr r1, =gBattleSpritesDataPtr
- 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, =sub_805EE48
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_805EEE0
-
- thumb_func_start sub_805EF14
-sub_805EF14: @ 805EF14
- push {r4-r6,lr}
- ldr r3, =0x06000240
- movs r0, 0
- movs r6, 0xF0
- lsls r6, 8
-_0805EF1E:
- adds r5, r0, 0x1
- movs r4, 0xF
-_0805EF22:
- ldrh r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _0805EF32
- adds r0, r6, 0
- orrs r0, r1
- strh r0, [r3]
-_0805EF32:
- ldrh r1, [r3]
- movs r2, 0xF0
- lsls r2, 4
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0805EF46
- adds r0, r2, 0
- orrs r0, r1
- strh r0, [r3]
-_0805EF46:
- ldrh r1, [r3]
- movs r2, 0xF0
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- bne _0805EF58
- adds r0, r1, 0
- orrs r0, r2
- strh r0, [r3]
-_0805EF58:
- ldrh r1, [r3]
- movs r2, 0xF
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _0805EF6A
- adds r0, r1, 0
- orrs r0, r2
- strh r0, [r3]
-_0805EF6A:
- adds r3, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _0805EF22
- adds r0, r5, 0
- cmp r0, 0x8
- ble _0805EF1E
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805EF14
-
- thumb_func_start ClearTemporarySpeciesSpriteData
-ClearTemporarySpeciesSpriteData: @ 805EF84
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- ldr r0, =gBattleSpritesDataPtr
- 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, =gBattleMonForms
- adds r0, r4, r0
- strb r3, [r0]
- cmp r1, 0
- bne _0805EFAC
- adds r0, r4, 0
- bl sub_805E974
-_0805EFAC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ClearTemporarySpeciesSpriteData
-
- thumb_func_start AllocateMonSpritesGfx
-AllocateMonSpritesGfx: @ 805EFBC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r6, 0
- ldr r4, =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]
-_0805EFE2:
- ldr r0, =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, =gUnknown_08329D98
- 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
-_0805F01A:
- ldr r2, =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 _0805F01A
- ldr r1, =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 _0805EFE2
- movs r0, 0x80
- lsls r0, 5
- bl AllocZeroed
- ldr r1, =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
- .pool
- thumb_func_end AllocateMonSpritesGfx
-
- thumb_func_start FreeMonSpritesGfx
-FreeMonSpritesGfx: @ 805F094
- push {r4-r6,lr}
- ldr r6, =gMonSpritesGfxPtr
- ldr r0, [r6]
- cmp r0, 0
- beq _0805F106
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0805F0BA
- bl Free
- ldr r0, [r6]
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_0805F0BA:
- ldr r0, [r6]
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0805F0D8
- bl Free
- ldr r0, [r6]
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_0805F0D8:
- 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]
-_0805F106:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FreeMonSpritesGfx
-
- thumb_func_start sub_805F110
-sub_805F110: @ 805F110
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x37
- bl GetMonData
- ldr r1, =0x00000fff
- ands r1, r0
- cmp r1, 0
- bne _0805F158
- 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 _0805F158
- movs r0, 0x1
- b _0805F15A
- .pool
-_0805F158:
- movs r0, 0
-_0805F15A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_805F110
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_anim_80A5C6C.s b/asm/battle_anim_80A5C6C.s
index 705146ce5..158da2a02 100644
--- a/asm/battle_anim_80A5C6C.s
+++ b/asm/battle_anim_80A5C6C.s
@@ -586,8 +586,8 @@ _080A612E:
bx r1
thumb_func_end sub_80A60AC
- thumb_func_start sub_80A6138
-sub_80A6138: @ 80A6138
+ thumb_func_start GetBankSpriteDefault_Y
+GetBankSpriteDefault_Y: @ 80A6138
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -597,10 +597,10 @@ sub_80A6138: @ 80A6138
lsrs r0, 24
pop {r1}
bx r1
- thumb_func_end sub_80A6138
+ thumb_func_end GetBankSpriteDefault_Y
- thumb_func_start sub_80A614C
-sub_80A614C: @ 80A614C
+ thumb_func_start GetSubstituteSpriteDefault_Y
+GetSubstituteSpriteDefault_Y: @ 80A614C
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
@@ -633,7 +633,7 @@ _080A6180:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80A614C
+ thumb_func_end GetSubstituteSpriteDefault_Y
thumb_func_start sub_80A6190
sub_80A6190: @ 80A6190
@@ -5180,7 +5180,7 @@ _080A8412:
adds r0, r6, 0
ldr r1, [sp, 0x3C]
mov r2, r8
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
lsls r1, r5, 20
movs r2, 0x80
lsls r2, 17
@@ -5243,7 +5243,7 @@ _080A84B0:
adds r0, r6, 0
ldr r1, [sp, 0x3C]
mov r2, r8
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
lsls r1, r5, 20
movs r3, 0x80
lsls r3, 17
diff --git a/asm/battle_anim_80A9C70.s b/asm/battle_anim_80A9C70.s
index 681802e12..d27852961 100644
--- a/asm/battle_anim_80A9C70.s
+++ b/asm/battle_anim_80A9C70.s
@@ -855,8 +855,8 @@ _080AA352:
.pool
thumb_func_end sub_80AA18C
- thumb_func_start move_anim_start_t2
-move_anim_start_t2: @ 80AA364
+ thumb_func_start LaunchStatusAnimation
+LaunchStatusAnimation: @ 80AA364
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@@ -885,7 +885,7 @@ move_anim_start_t2: @ 80AA364
pop {r0}
bx r0
.pool
- thumb_func_end move_anim_start_t2
+ thumb_func_end LaunchStatusAnimation
thumb_func_start task0A_80788BC
task0A_80788BC: @ 80AA3B4
diff --git a/asm/battle_anim_815A0D4.s b/asm/battle_anim_815A0D4.s
index 69835bf4e..d2a401f59 100755
--- a/asm/battle_anim_815A0D4.s
+++ b/asm/battle_anim_815A0D4.s
@@ -3006,7 +3006,7 @@ _0815B8A8:
lsls r2, 3
adds r2, r3
ldrb r2, [r2, 0x1C]
- bl sub_805E448
+ bl HandleSpeciesGfxDataChange
ldrb r1, [r5]
mov r0, sp
bl sub_80A6BFC
@@ -3310,7 +3310,7 @@ sub_815BB58: @ 815BB58
ldr r1, =gAnimBankTarget
ldrb r1, [r1]
movs r2, 0x1
- bl sub_805E448
+ bl HandleSpeciesGfxDataChange
adds r0, r4, 0
bl DestroyAnimVisualTask
pop {r4}
@@ -10129,7 +10129,7 @@ _0815F2AC:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
- bl refresh_graphics_maybe
+ bl LoadBattleMonGfxAndAnimate
bl IsContest
lsls r0, 24
cmp r0, 0
diff --git a/asm/battle_anim_8170478.s b/asm/battle_anim_8170478.s
index 8de82c629..a5e3b5f88 100644
--- a/asm/battle_anim_8170478.s
+++ b/asm/battle_anim_8170478.s
@@ -4825,7 +4825,7 @@ _08172CC8:
ldrb r1, [r5, 0x1E]
adds r0, r2, 0
adds r2, r6, 0
- bl refresh_graphics_maybe
+ bl LoadBattleMonGfxAndAnimate
ldrh r0, [r5, 0x1C]
adds r0, 0x1
strh r0, [r5, 0x1C]
@@ -5030,7 +5030,7 @@ _08172E4E:
movs r3, 0x1
bl RequestDma3Fill
ldrb r0, [r4]
- bl sub_805E974
+ bl ClearBehindSubstituteBit
adds r0, r5, 0
bl DestroyAnimVisualTask
_08172E84:
diff --git a/asm/contest.s b/asm/contest.s
index 9c0684663..4852a548f 100644
--- a/asm/contest.s
+++ b/asm/contest.s
@@ -6763,7 +6763,7 @@ _080DB1CC:
adds r0, r5, 0
adds r1, r7, 0
adds r2, r6, 0
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
movs r1, 0x90
lsls r1, 1
movs r2, 0x20
diff --git a/asm/contest_painting.s b/asm/contest_painting.s
index 2caf15194..98f001442 100644
--- a/asm/contest_painting.s
+++ b/asm/contest_painting.s
@@ -572,7 +572,7 @@ sub_81302E8: @ 81302E8
ldr r1, [r0, 0x4]
ldr r2, [r0]
adds r0, r5, 0
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
ldr r7, =gUnknown_030061C4
ldr r1, [r7]
bl LZDecompressVram
diff --git a/asm/link.s b/asm/link.s
index 291f71a57..524a1eeed 100644
--- a/asm/link.s
+++ b/asm/link.s
@@ -69004,7 +69004,7 @@ _0802CA32:
ldrh r0, [r7]
ldr r1, [r7, 0x4]
ldr r2, [r7, 0x8]
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
str r0, [sp, 0x20]
add r0, sp, 0x20
ldr r1, [r0, 0x4]
diff --git a/asm/pokeball.s b/asm/pokeball.s
index 0afd27932..b4fc36d97 100755
--- a/asm/pokeball.s
+++ b/asm/pokeball.s
@@ -936,7 +936,7 @@ _08075B9E:
.pool
_08075BB4:
adds r0, r3, 0
- bl sub_805F110
+ bl ShouldPlayNormalPokeCry
cmp r0, 0x1
bne _08075BCC
lsls r1, r5, 24
@@ -976,7 +976,7 @@ _08075BF8:
cmp r0, 0
bne _08075CBA
adds r0, r3, 0
- bl sub_805F110
+ bl ShouldPlayNormalPokeCry
cmp r0, 0x1
bne _08075C22
lsls r1, r5, 24
@@ -1066,7 +1066,7 @@ _08075CBA:
b _08075D04
_08075CC0:
adds r0, r3, 0
- bl sub_805F110
+ bl ShouldPlayNormalPokeCry
cmp r0, 0x1
bne _08075CD8
lsls r1, r5, 24
diff --git a/asm/pokedex.s b/asm/pokedex.s
index 3d69281c2..e9506881e 100644
--- a/asm/pokedex.s
+++ b/asm/pokedex.s
@@ -8824,7 +8824,7 @@ _080C0168:
adds r3, r5
ldrb r4, [r3, 0x5]
lsrs r4, 4
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
lsls r4, 4
movs r2, 0x80
lsls r2, 1
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index d1f7bd161..a8365ba18 100755
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -14656,7 +14656,7 @@ _080CEC86:
adds r1, r3
str r0, [r1]
adds r0, r6, 0
- bl pokemon_get_pal
+ bl GetMonFrontSpritePal
ldr r1, [r4]
ldr r2, =0x00000cdc
adds r1, r2
@@ -14759,7 +14759,7 @@ _080CED7E:
adds r1, r4
ldrh r0, [r1]
mov r1, r9
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
ldr r1, [r5]
ldr r3, =0x00000cdc
adds r2, r1, r3
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index a89c54304..db11f6865 100755
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -1116,7 +1116,7 @@ sub_81C4778: @ 81C4778
bne _081C47AE
adds r0, r1, 0
adds r0, 0xC
- bl sub_805F110
+ bl ShouldPlayNormalPokeCry
cmp r0, 0x1
bne _081C47A4
ldrh r0, [r4, 0x2]
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 0c7a80742..ba6d4fca0 100755
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -13532,7 +13532,7 @@ _081CDBD0:
adds r0, r4, 0
mov r1, r8
adds r2, r5, 0
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
mov r2, r9
lsls r1, r2, 7
adds r1, r7, r1
@@ -24408,7 +24408,7 @@ _081D30C4:
adds r0, r4, 0
adds r1, r6, 0
adds r2, r5, 0
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
mov r1, r9
bl LZ77UnCompWram
_081D311A: