summaryrefslogtreecommitdiff
path: root/asm/battle_interface.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/battle_interface.s')
-rwxr-xr-xasm/battle_interface.s5734
1 files changed, 0 insertions, 5734 deletions
diff --git a/asm/battle_interface.s b/asm/battle_interface.s
deleted file mode 100755
index 47bcc778e..000000000
--- a/asm/battle_interface.s
+++ /dev/null
@@ -1,5734 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8072304
-sub_8072304: @ 8072304
- movs r0, 0x9
- bx lr
- thumb_func_end sub_8072304
-
- thumb_func_start sub_8072308
-sub_8072308: @ 8072308
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r7, r1, 0
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- movs r3, 0
- movs r2, 0
-_08072324:
- lsls r0, r3, 24
- asrs r0, 24
- mov r3, sp
- adds r1, r3, r0
- strb r2, [r1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- asrs r0, 24
- cmp r0, 0x3
- ble _08072324
- movs r3, 0x3
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- mov r8, sp
-_08072344:
- lsls r0, r5, 16
- asrs r6, r0, 16
- cmp r6, 0
- ble _08072372
- lsls r4, r3, 24
- asrs r4, 24
- mov r1, sp
- adds r5, r1, r4
- adds r0, r6, 0
- movs r1, 0xA
- bl __modsi3
- strb r0, [r5]
- adds r0, r6, 0
- movs r1, 0xA
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- subs r4, 0x1
- lsls r4, 24
- lsrs r3, r4, 24
- b _08072344
-_08072372:
- lsls r1, r3, 24
- asrs r0, r1, 24
- cmp r0, r9
- ble _08072396
- movs r4, 0xFF
- movs r3, 0x1
- negs r3, r3
-_08072380:
- asrs r2, r1, 24
- mov r5, sp
- adds r1, r5, r2
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- subs r2, 0x1
- lsls r1, r2, 24
- asrs r0, r1, 24
- cmp r0, r3
- bgt _08072380
-_08072396:
- mov r1, r8
- ldrb r0, [r1, 0x3]
- cmp r0, 0xFF
- bne _080723A2
- movs r0, 0
- strb r0, [r1, 0x3]
-_080723A2:
- mov r2, r10
- cmp r2, 0
- bne _08072432
- movs r3, 0
- movs r1, 0
- movs r6, 0xFC
- lsls r6, 8
- movs r5, 0x1E
- mov r12, r5
-_080723B4:
- lsls r1, 24
- asrs r2, r1, 24
- mov r0, sp
- adds r5, r0, r2
- ldrb r0, [r5]
- mov r8, r1
- cmp r0, 0xFF
- bne _080723EA
- lsls r1, r2, 1
- adds r1, r7
- ldrh r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- mov r2, r12
- orrs r0, r2
- strh r0, [r1]
- lsls r3, 24
- asrs r1, r3, 23
- adds r1, r7
- adds r1, 0x40
- ldrh r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- mov r5, r12
- orrs r0, r5
- strh r0, [r1]
- b _0807241A
-_080723EA:
- lsls r2, 1
- adds r2, r7
- ldrh r0, [r2]
- adds r1, r6, 0
- ands r1, r0
- ldrb r0, [r5]
- adds r0, 0x14
- orrs r1, r0
- strh r1, [r2]
- lsls r4, r3, 24
- asrs r3, r4, 24
- lsls r2, r3, 1
- adds r2, r7
- adds r2, 0x40
- ldrh r0, [r2]
- adds r1, r6, 0
- ands r1, r0
- mov r5, sp
- adds r0, r5, r3
- ldrb r0, [r0]
- adds r0, 0x34
- orrs r1, r0
- strh r1, [r2]
- adds r3, r4, 0
-_0807241A:
- movs r0, 0x80
- lsls r0, 17
- add r0, r8
- lsrs r1, r0, 24
- movs r2, 0x80
- lsls r2, 17
- adds r0, r3, r2
- lsrs r3, r0, 24
- asrs r0, 24
- cmp r0, 0x3
- ble _080723B4
- b _08072496
-_08072432:
- movs r3, 0
- movs r4, 0xFC
- lsls r4, 8
- movs r6, 0x1E
-_0807243A:
- lsls r1, r3, 24
- asrs r2, r1, 24
- mov r3, sp
- adds r5, r3, r2
- ldrb r0, [r5]
- adds r3, r1, 0
- cmp r0, 0xFF
- bne _08072466
- lsls r1, r2, 1
- adds r1, r7
- ldrh r2, [r1]
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r6
- strh r0, [r1]
- adds r1, 0x40
- ldrh r2, [r1]
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r6
- strh r0, [r1]
- b _08072488
-_08072466:
- lsls r2, 1
- adds r2, r7
- ldrh r0, [r2]
- adds r1, r4, 0
- ands r1, r0
- ldrb r0, [r5]
- adds r0, 0x14
- orrs r1, r0
- strh r1, [r2]
- adds r2, 0x40
- ldrh r0, [r2]
- adds r1, r4, 0
- ands r1, r0
- ldrb r0, [r5]
- adds r0, 0x34
- orrs r1, r0
- strh r1, [r2]
-_08072488:
- movs r5, 0x80
- lsls r5, 17
- adds r0, r3, r5
- lsrs r3, r0, 24
- asrs r0, 24
- cmp r0, 0x3
- ble _0807243A
-_08072496:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8072308
-
- thumb_func_start sub_80724A8
-sub_80724A8: @ 80724A8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- movs r1, 0x1E
- strh r1, [r5, 0x8]
- lsls r0, 16
- asrs r0, 16
- adds r1, r5, 0
- movs r2, 0
- bl sub_8072308
- lsls r4, 16
- asrs r4, 16
- adds r5, 0xA
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8072308
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80724A8
-
- thumb_func_start CreateBankHealthboxSprites
-CreateBankHealthboxSprites: @ 80724DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r0, 0
- str r0, [sp]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _080725F0
- mov r0, r10
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08072574
- ldr r4, =gUnknown_0832C140
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gSprites
- lsls r1, r6, 4
- adds r1, r6
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r1, 0x1]
- movs r3, 0x3F
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1, 0x1]
- lsls r2, r7, 4
- adds r2, r7
- lsls r2, 2
- adds r2, r4
- ldrb r0, [r2, 0x1]
- ands r3, r0
- strb r3, [r2, 0x1]
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x40
- ldr r4, =0x000003ff
- adds r0, r4, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
- b _080725BA
- .pool
-_08072574:
- ldr r4, =gUnknown_0832C170
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gSprites
- lsls r2, r7, 4
- adds r2, r7
- lsls r2, 2
- adds r2, r0
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x20
- ldr r5, =0x000003ff
- adds r0, r5, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
- movs r0, 0x2
- str r0, [sp]
-_080725BA:
- ldr r2, =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r2
- strh r7, [r0, 0x6]
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r1, r0, r2
- strh r6, [r1, 0x38]
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8072924
- str r1, [r0]
- b _08072718
- .pool
-_080725F0:
- mov r0, r10
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08072694
- mov r0, r10
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 25
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldr r4, =gUnknown_0832C140
- adds r0, r4
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- mov r0, r10
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 25
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r4
- strh r7, [r0, 0x6]
- lsls r2, r7, 4
- adds r2, r7
- lsls r2, 2
- adds r3, r2, r4
- strh r6, [r3, 0x38]
- ldrh r1, [r3, 0x4]
- mov r8, r1
- mov r5, r8
- lsls r1, r5, 22
- lsrs r1, 22
- adds r1, 0x20
- ldr r5, =0x000003ff
- adds r0, r5, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- mov r5, r8
- ands r0, r5
- orrs r0, r1
- strh r0, [r3, 0x4]
- adds r4, 0x1C
- adds r2, r4
- ldr r0, =sub_8072924
- str r0, [r2]
- movs r0, 0x1
- b _08072716
- .pool
-_08072694:
- mov r0, r10
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 25
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldr r4, =gUnknown_0832C170
- adds r0, r4
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- mov r0, r10
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 25
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r4
- strh r7, [r0, 0x6]
- lsls r2, r7, 4
- adds r2, r7
- lsls r2, 2
- adds r3, r2, r4
- strh r6, [r3, 0x38]
- ldrh r1, [r3, 0x4]
- mov r8, r1
- mov r5, r8
- lsls r1, r5, 22
- lsrs r1, 22
- adds r1, 0x20
- ldr r5, =0x000003ff
- adds r0, r5, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- mov r5, r8
- ands r0, r5
- orrs r0, r1
- strh r0, [r3, 0x4]
- adds r4, 0x1C
- adds r2, r4
- ldr r0, =sub_8072924
- str r0, [r2]
- movs r0, 0x2
-_08072716:
- str r0, [sp]
-_08072718:
- ldr r0, =gBanksByIdentity
- add r0, r10
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldr r1, =gUnknown_0832C1C0
- adds r0, r1
- movs r1, 0x8C
- movs r2, 0x3C
- movs r3, 0
- bl CreateSpriteAtEnd
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r1, =gSprites
- mov r8, r1
- add r4, r8
- mov r0, r10
- bl GetBankSide
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 21
- ldr r0, =gUnknown_0832C28C
- adds r1, r0
- adds r0, r4, 0
- bl SetSubspriteTables
- adds r2, r4, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r2, 0x4
- mov r9, r2
- mov r1, r9
- orrs r0, r1
- strb r0, [r4, 0x5]
- movs r0, 0x1
- bl sub_80728A4
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r2, =0x06010000
- adds r1, r2
- ldr r2, =0x04000010
- bl CpuSet
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- add r0, r8
- strh r5, [r0, 0x38]
- mov r2, r10
- strh r2, [r0, 0x3A]
- adds r0, 0x3E
- ldrb r1, [r0]
- mov r5, r9
- orrs r1, r5
- strb r1, [r0]
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r8
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r5
- strb r1, [r0]
- strh r6, [r4, 0x38]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x3A]
- adds r4, 0x3E
- ldrb r0, [r4]
- orrs r0, r5
- strb r0, [r4]
- adds r0, r6, 0
- 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 CreateBankHealthboxSprites
-
- thumb_func_start CreateSafariPlayerHealthboxSprites
-CreateSafariPlayerHealthboxSprites: @ 8072804
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, =gUnknown_0832C1A0
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSprite
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- mov r9, r1
- lsls r4, r6, 4
- adds r4, r6
- lsls r4, 2
- add r4, r9
- ldrb r3, [r4, 0x1]
- movs r2, 0x3F
- adds r1, r2, 0
- ands r1, r3
- strb r1, [r4, 0x1]
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- mov r7, r9
- adds r5, r3, r7
- ldrb r1, [r5, 0x1]
- ands r2, r1
- strb r2, [r5, 0x1]
- ldrh r1, [r5, 0x4]
- mov r8, r1
- mov r7, r8
- lsls r2, r7, 22
- lsrs r2, 22
- adds r2, 0x40
- ldr r7, =0x000003ff
- adds r1, r7, 0
- ands r2, r1
- ldr r1, =0xfffffc00
- mov r7, r8
- ands r1, r7
- orrs r1, r2
- strh r1, [r5, 0x4]
- strh r0, [r4, 0x6]
- strh r6, [r5, 0x38]
- movs r0, 0x1C
- add r9, r0
- add r3, r9
- ldr r0, =sub_8072924
- str r0, [r3]
- adds r0, r6, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CreateSafariPlayerHealthboxSprites
-
- thumb_func_start sub_80728A4
-sub_80728A4: @ 80728A4
- lsls r0, 24
- lsrs r0, 19
- ldr r1, =gUnknown_08C11BDC
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_80728A4
-
- thumb_func_start sub_80728B4
-sub_80728B4: @ 80728B4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x38]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080728E4
- cmp r0, 0x1
- bgt _080728F8
- cmp r0, 0
- bne _080728F8
- ldr r2, =gSprites
- lsls r3, r5, 4
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x20]
- adds r0, 0x10
- b _08072906
- .pool
-_080728E4:
- ldr r2, =gSprites
- lsls r3, r5, 4
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x20]
- adds r0, 0x10
- b _08072906
- .pool
-_080728F8:
- ldr r2, =gSprites
- lsls r3, r5, 4
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x20]
- adds r0, 0x8
-_08072906:
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x22]
- strh r0, [r4, 0x22]
- adds r0, r3, r5
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- strh r1, [r4, 0x24]
- ldrh r0, [r0, 0x26]
- strh r0, [r4, 0x26]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80728B4
-
- thumb_func_start sub_8072924
-sub_8072924: @ 8072924
- ldrh r1, [r0, 0x38]
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gSprites
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x20]
- adds r1, 0x40
- strh r1, [r0, 0x20]
- ldrh r1, [r2, 0x22]
- strh r1, [r0, 0x22]
- ldrh r1, [r2, 0x24]
- strh r1, [r0, 0x24]
- ldrh r1, [r2, 0x26]
- strh r1, [r0, 0x26]
- bx lr
- .pool
- thumb_func_end sub_8072924
-
- thumb_func_start sub_807294C
-sub_807294C: @ 807294C
- push {r4-r7,lr}
- ldr r7, [sp, 0x14]
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gBattleSpritesDataPtr
- ldr r4, [r6]
- ldr r5, [r4, 0xC]
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 2
- adds r5, r4, r5
- strb r1, [r5]
- ldr r0, [r6]
- ldr r0, [r0, 0xC]
- adds r4, r0
- str r2, [r4, 0x4]
- str r3, [r4, 0x8]
- str r7, [r4, 0xC]
- ldr r0, =0xffff8000
- str r0, [r4, 0x10]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807294C
-
- thumb_func_start SetHealthboxSpriteInvisible
-SetHealthboxSpriteInvisible: @ 8072984
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- adds r1, r2, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1]
- movs r0, 0x38
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- ldrh r1, [r2, 0x6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetHealthboxSpriteInvisible
-
- thumb_func_start SetHealthboxSpriteVisible
-SetHealthboxSpriteVisible: @ 80729D0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r5
- adds r4, r2, 0
- adds r4, 0x3E
- ldrb r1, [r4]
- movs r3, 0x5
- negs r3, r3
- adds r0, r3, 0
- ands r0, r1
- strb r0, [r4]
- movs r0, 0x38
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r4, [r0]
- adds r1, r3, 0
- ands r1, r4
- strb r1, [r0]
- ldrh r1, [r2, 0x6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r3, r1
- strb r3, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetHealthboxSpriteVisible
-
- thumb_func_start sub_8072A24
-sub_8072A24: @ 8072A24
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gSprites
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r3, r4
- strh r1, [r3, 0x20]
- strh r2, [r3, 0x22]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8072A24
-
- thumb_func_start sub_8072A44
-sub_8072A44: @ 8072A44
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gSprites
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r4, r5
- ldrh r1, [r4, 0x6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- movs r0, 0x38
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- adds r0, r4, 0
- bl DestroySprite
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8072A44
-
- thumb_func_start nullsub_30
-nullsub_30: @ 8072A84
- bx lr
- thumb_func_end nullsub_30
-
- thumb_func_start sub_8072A88
-sub_8072A88: @ 8072A88
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- ldr r1, =gNoOfAllBanks
- mov r8, r1
- ldrb r2, [r1]
- cmp r6, r2
- bge _08072B00
- ldr r1, =gSprites
- mov r12, r1
- movs r1, 0x3
- ands r0, r1
- lsls r5, r0, 2
- movs r7, 0xD
- negs r7, r7
- ldr r2, =gHealthBoxesIds
- mov r9, r2
-_08072AB2:
- mov r1, r9
- adds r0, r6, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- ldrb r4, [r1, 0x6]
- ldrh r3, [r1, 0x38]
- lsls r3, 24
- lsrs r3, 24
- ldrb r2, [r1, 0x5]
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r5
- strb r0, [r1, 0x5]
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- add r1, r12
- ldrb r2, [r1, 0x5]
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r5
- strb r0, [r1, 0x5]
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- add r1, r12
- ldrb r2, [r1, 0x5]
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r5
- strb r0, [r1, 0x5]
- adds r6, 0x1
- mov r2, r8
- ldrb r2, [r2]
- cmp r6, r2
- blt _08072AB2
-_08072B00:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8072A88
-
- thumb_func_start SetBankHealthboxSpritePos
-SetBankHealthboxSpritePos: @ 8072B18
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r4, 0
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _08072B44
- adds r0, r6, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08072B3E
- movs r5, 0x2C
- movs r4, 0x1E
- b _08072B7C
-_08072B3E:
- movs r5, 0x9E
- movs r4, 0x58
- b _08072B7C
-_08072B44:
- adds r0, r6, 0
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08072B72
- cmp r0, 0x1
- bgt _08072B5C
- cmp r0, 0
- beq _08072B66
- b _08072B7C
-_08072B5C:
- cmp r0, 0x2
- beq _08072B6C
- cmp r0, 0x3
- beq _08072B78
- b _08072B7C
-_08072B66:
- movs r5, 0x9F
- movs r4, 0x4C
- b _08072B7C
-_08072B6C:
- movs r5, 0xAB
- movs r4, 0x65
- b _08072B7C
-_08072B72:
- movs r5, 0x2C
- movs r4, 0x13
- b _08072B7C
-_08072B78:
- movs r5, 0x20
- movs r4, 0x2C
-_08072B7C:
- ldr r0, =gHealthBoxesIds
- adds r0, r6, r0
- ldrb r0, [r0]
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8072A24
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetBankHealthboxSpritePos
-
- thumb_func_start healthbar_draw_level
-healthbar_draw_level: @ 8072B94
- push {r4,r5,lr}
- sub sp, 0x18
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- add r2, sp, 0x4
- movs r0, 0xF9
- strb r0, [r2]
- movs r0, 0x5
- strb r0, [r2, 0x1]
- mov r0, sp
- adds r0, 0x6
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r1, r0, 0
- subs r1, 0x2
- add r0, sp, 0x4
- subs r1, r0
- movs r0, 0x3
- subs r0, r1
- lsls r1, r0, 2
- adds r1, r0
- add r0, sp, 0x14
- str r0, [sp]
- add r0, sp, 0x4
- movs r2, 0x3
- movs r3, 0x2
- bl write_to_rbox
- adds r5, r0, 0
- ldr r0, =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x4]
- lsls r0, 22
- lsrs r4, r0, 17
- ldrh r0, [r1, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08072C18
- bl IsDoubleBattle
- lsls r0, 24
- ldr r2, =0x06010420
- adds r1, r4, r2
- cmp r0, 0
- bne _08072C1C
- ldr r0, =0x06010820
- adds r1, r4, r0
- b _08072C1C
- .pool
-_08072C18:
- ldr r2, =0x06010400
- adds r1, r4, r2
-_08072C1C:
- adds r0, r1, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl sub_8075198
- ldr r0, [sp, 0x14]
- bl sub_807512C
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end healthbar_draw_level
-
- thumb_func_start heathbar_draw_hp
-heathbar_draw_hp: @ 8072C38
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r1, =gSprites
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r4, r0, r1
- ldrh r0, [r4, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08072D10
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _08072D10
- ldrh r0, [r4, 0x4]
- lsls r0, 22
- lsrs r5, r0, 17
- mov r0, r8
- cmp r0, 0
- beq _08072CB8
- mov r2, r9
- lsls r1, r2, 16
- asrs r1, 16
- add r0, sp, 0x4
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- add r0, sp, 0x24
- str r0, [sp]
- add r0, sp, 0x4
- movs r1, 0
- movs r2, 0x5
- movs r3, 0x2
- bl write_to_rbox
- adds r4, r0, 0
- ldr r1, =0x06010b40
- adds r0, r5, r1
- adds r1, r4, 0
- b _08072CF8
- .pool
-_08072CB8:
- mov r2, r9
- lsls r1, r2, 16
- asrs r1, 16
- add r0, sp, 0x4
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- add r1, sp, 0x4
- movs r0, 0xBA
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- add r0, sp, 0x24
- str r0, [sp]
- adds r0, r1, 0
- movs r1, 0x4
- movs r2, 0x5
- movs r3, 0x2
- bl write_to_rbox
- adds r4, r0, 0
- ldr r1, =0x060103e0
- adds r0, r5, r1
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8075170
- ldr r2, =0x06010b00
- adds r0, r5, r2
- adds r1, r4, 0
- adds r1, 0x20
-_08072CF8:
- movs r2, 0x2
- bl sub_8075170
- ldr r0, [sp, 0x24]
- bl sub_807512C
- b _08072DEA
- .pool
-_08072D10:
- ldr r1, =gUnknown_0832C3C4
- add r0, sp, 0x4
- movs r2, 0x14
- bl memcpy
- ldr r1, =gSprites
- lsls r4, r7, 4
- adds r0, r4, r7
- lsls r0, 2
- adds r6, r0, r1
- ldrh r0, [r6, 0x3A]
- lsls r0, 24
- lsrs r5, r0, 24
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- mov r10, r4
- cmp r0, 0x1
- beq _08072D46
- adds r0, r5, 0
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08072D60
-_08072D46:
- mov r0, r9
- lsls r1, r0, 16
- asrs r1, 16
- adds r0, r7, 0
- mov r2, r8
- bl sub_8072E0C
- b _08072DEA
- .pool
-_08072D60:
- ldrh r0, [r6, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08072D7C
- movs r6, 0x59
- mov r1, r8
- cmp r1, 0
- bne _08072D86
- movs r6, 0x1D
- b _08072D86
-_08072D7C:
- movs r6, 0x30
- mov r2, r8
- cmp r2, 0
- bne _08072D86
- movs r6, 0x14
-_08072D86:
- mov r0, sp
- adds r0, 0xA
- mov r2, r9
- lsls r1, r2, 16
- asrs r1, 16
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, =gMonSpritesGfxPtr
- ldr r0, [r0]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x9
- add r2, sp, 0x4
- bl RenderTextFont9
- movs r4, 0
- ldr r1, =gSprites
- mov r2, r10
- adds r0, r2, r7
- lsls r0, 2
- adds r5, r0, r1
-_08072DB8:
- ldr r0, =gMonSpritesGfxPtr
- ldr r0, [r0]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- lsls r1, r4, 6
- adds r1, 0x20
- ldr r0, [r0]
- adds r0, r1
- ldrh r1, [r5, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r1, r6
- adds r1, r4
- lsls r1, 5
- ldr r2, =0x06010000
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _08072DB8
-_08072DEA:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end heathbar_draw_hp
-
- thumb_func_start sub_8072E0C
-sub_8072E0C: @ 8072E0C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- lsrs r4, r1, 16
- mov r10, r4
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r5, =gSprites
- lsls r0, 4
- add r0, r9
- lsls r0, 2
- adds r7, r0, r5
- ldrh r0, [r7, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08072F28
- ldr r0, =gBattleSpritesDataPtr
- ldr r1, [r0]
- movs r2, 0x3A
- ldrsh r0, [r7, r2]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08072E5E
- b _080730B8
-_08072E5E:
- movs r3, 0x38
- ldrsh r1, [r7, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x4]
- lsls r0, 22
- lsrs r5, r0, 17
- ldr r0, =0x06010000
- adds r6, r5, r0
- mov r0, r8
- cmp r0, 0
- beq _08072EDC
- lsls r1, r4, 16
- asrs r1, 16
- add r0, sp, 0x4
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- add r0, sp, 0x28
- str r0, [sp]
- add r0, sp, 0x4
- movs r1, 0
- movs r2, 0x5
- movs r3, 0
- bl write_to_rbox
- adds r4, r0, 0
- ldr r1, =0x060100c0
- adds r0, r5, r1
- adds r1, r4, 0
- movs r2, 0x2
- bl sub_8075170
- ldr r0, [sp, 0x28]
- bl sub_807512C
- movs r0, 0x74
- bl sub_80728A4
- ldrh r1, [r7, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r2, =0x06010680
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
- b _080730B8
- .pool
-_08072EDC:
- lsls r1, r4, 16
- asrs r1, 16
- add r0, sp, 0x4
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- add r1, sp, 0x4
- movs r0, 0xBA
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- add r0, sp, 0x28
- str r0, [sp]
- adds r0, r1, 0
- movs r1, 0x4
- movs r2, 0x5
- movs r3, 0
- bl write_to_rbox
- adds r4, r0, 0
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x3
- bl sub_807513C
- ldr r3, =0x06010060
- adds r0, r5, r3
- adds r1, r4, 0
- movs r2, 0x3
- bl sub_8075170
- ldr r0, [sp, 0x28]
- bl sub_807512C
- b _080730B8
- .pool
-_08072F28:
- ldr r1, =gUnknown_0832C3D8
- add r0, sp, 0x4
- movs r2, 0x14
- bl memcpy
- ldrh r0, [r7, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x2C]
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- ldr r2, [sp, 0x2C]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08072F52
- b _080730B8
-_08072F52:
- movs r6, 0x4
- mov r3, r8
- negs r0, r3
- orrs r0, r3
- asrs r0, 31
- ands r6, r0
- ldrh r0, [r7, 0x38]
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, sp
- adds r0, 0xA
- mov r2, r10
- lsls r1, r2, 16
- asrs r1, 16
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- mov r3, r8
- cmp r3, 0
- bne _08072F82
- ldr r1, =gText_Slash
- bl StringCopy
-_08072F82:
- ldr r0, =gMonSpritesGfxPtr
- ldr r0, [r0]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x9
- add r2, sp, 0x4
- bl RenderTextFont9
- adds r4, r6, 0
- adds r0, r4, 0x3
- cmp r4, r0
- bge _08073024
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r5, r0, r5
-_08072FA6:
- cmp r4, 0x2
- bhi _08072FF0
- ldr r0, =gMonSpritesGfxPtr
- ldr r0, [r0]
- movs r2, 0xBA
- lsls r2, 1
- adds r0, r2
- subs r1, r4, r6
- lsls r1, 6
- adds r1, 0x20
- ldr r0, [r0]
- adds r0, r1
- ldrh r1, [r5, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r4, 0x1
- adds r1, r4
- lsls r1, 5
- ldr r3, =0x06010000
- adds r1, r3
- ldr r2, =0x04000008
- bl CpuSet
- b _0807301A
- .pool
-_08072FF0:
- ldr r0, =gMonSpritesGfxPtr
- ldr r0, [r0]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- subs r1, r4, r6
- lsls r1, 6
- adds r1, 0x20
- ldr r0, [r0]
- adds r0, r1
- ldrh r1, [r5, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r1, r4, r1
- lsls r1, 5
- ldr r2, =0x06010020
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
- adds r4, 0x1
-_0807301A:
- lsls r0, r4, 24
- lsrs r4, r0, 24
- adds r0, r6, 0x3
- cmp r4, r0
- blt _08072FA6
-_08073024:
- mov r3, r8
- cmp r3, 0
- bne _08073084
- ldr r0, =gMonSpritesGfxPtr
- ldr r0, [r0]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- adds r0, 0xE0
- ldr r1, =gSprites
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r4, r1
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- adds r1, 0x80
- ldr r5, =0x06010000
- adds r1, r5
- ldr r2, =0x04000008
- bl CpuSet
- mov r2, r8
- str r2, [sp, 0x24]
- add r0, sp, 0x24
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- adds r1, r5
- ldr r2, =0x05000008
- bl CpuSet
- b _080730B8
- .pool
-_08073084:
- ldr r0, [sp, 0x2C]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _080730B8
- movs r0, 0x74
- bl sub_80728A4
- ldr r2, =gSprites
- mov r3, r9
- lsls r1, r3, 4
- add r1, r9
- lsls r1, 2
- adds r1, r2
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 17
- movs r2, 0xD0
- lsls r2, 3
- adds r1, r2
- ldr r2, =0x06010000
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
-_080730B8:
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8072E0C
-
- thumb_func_start sub_80730D4
-sub_80730D4: @ 80730D4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
- ldr r1, =gUnknown_0832C3C4
- mov r0, sp
- movs r2, 0x14
- bl memcpy
- ldr r1, =gSprites
- ldr r2, [sp, 0x14]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- bl GetBankIdentity
- ldr r1, =gMonSpritesGfxPtr
- ldr r2, [r1]
- movs r3, 0xBA
- lsls r3, 1
- adds r2, r3
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 7
- movs r0, 0xA4
- lsls r0, 3
- adds r1, r0
- ldr r0, [r2]
- adds r6, r0, r1
- movs r1, 0x5
- mov r8, r1
- adds r0, r4, 0
- bl GetNature
- lsls r0, 24
- mov r4, sp
- adds r4, 0x6
- ldr r1, =gNatureNamePointers
- lsrs r0, 22
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringCopy
- adds r0, r6, 0
- movs r1, 0x9
- mov r2, sp
- bl RenderTextFont9
- movs r7, 0x6
- movs r5, 0
- mov r2, sp
- adds r2, 0x9
- str r2, [sp, 0x1C]
-_08073158:
- mov r3, sp
- adds r0, r3, r7
- ldrb r1, [r0]
- adds r0, r1, 0
- subs r0, 0x37
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bls _08073176
- adds r0, r1, 0
- adds r0, 0x79
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bhi _0807318C
-_08073176:
- movs r0, 0x2C
- b _080731AA
- .pool
-_0807318C:
- adds r0, r1, 0
- subs r0, 0x4B
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _080731A4
- adds r0, r1, 0
- adds r0, 0x65
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080731A8
-_080731A4:
- movs r0, 0x2D
- b _080731AA
-_080731A8:
- movs r0, 0x2B
-_080731AA:
- bl sub_80728A4
- lsls r1, r5, 6
- adds r1, r6, r1
- ldr r2, =0x04000008
- bl CpuSet
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, 0x1
- cmp r5, r8
- bcc _08073158
- movs r7, 0x1
- ldr r0, [sp, 0x14]
- lsls r0, 4
- str r0, [sp, 0x18]
- movs r1, 0x1
- add r1, r8
- mov r9, r1
- cmp r7, r9
- bge _08073236
- ldr r1, =gSprites
- ldr r2, =0x04000008
- mov r10, r2
- ldr r3, [sp, 0x14]
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- mov r8, r0
-_080731E6:
- mov r1, r8
- ldrh r0, [r1, 0x4]
- lsls r0, 22
- lsrs r0, 22
- adds r5, r7, 0
- cmp r7, 0
- bge _080731F6
- adds r5, r7, 0x7
-_080731F6:
- asrs r5, 3
- lsls r4, r5, 3
- subs r4, r7, r4
- adds r0, r4
- lsls r5, 6
- adds r0, r5
- lsls r0, 5
- ldr r2, =0x06010000
- adds r1, r0, r2
- adds r0, r6, 0
- mov r2, r10
- bl CpuSet
- adds r6, 0x20
- mov r3, r8
- ldrh r0, [r3, 0x4]
- lsls r0, 22
- lsrs r0, 22
- adds r4, 0x8
- adds r0, r4
- adds r0, r5
- lsls r0, 5
- ldr r2, =0x06010000
- adds r1, r0, r2
- adds r0, r6, 0
- mov r2, r10
- bl CpuSet
- adds r6, 0x20
- adds r7, 0x1
- cmp r7, r9
- blt _080731E6
-_08073236:
- ldr r6, =gSprites
- ldr r3, [sp, 0x18]
- ldr r1, [sp, 0x14]
- adds r0, r3, r1
- lsls r0, 2
- adds r0, r6
- ldrh r4, [r0, 0x38]
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gBattleStruct
- ldr r0, [r5]
- adds r0, 0x7C
- ldrb r1, [r0]
- mov r0, sp
- adds r0, 0x6
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, [r5]
- adds r0, 0x7B
- ldrb r1, [r0]
- ldr r0, [sp, 0x1C]
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- mov r1, sp
- movs r0, 0
- strb r0, [r1, 0x5]
- movs r0, 0xBA
- strb r0, [r1, 0x8]
- ldr r5, =gMonSpritesGfxPtr
- ldr r0, [r5]
- movs r2, 0xBA
- lsls r2, 1
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0x9
- mov r2, sp
- bl RenderTextFont9
- movs r7, 0
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r6, r0, r6
- movs r4, 0x20
-_08073296:
- cmp r7, 0x1
- bgt _080732D4
- ldr r0, [r5]
- movs r3, 0xBA
- lsls r3, 1
- adds r0, r3
- ldr r0, [r0]
- adds r0, r4
- ldrh r1, [r6, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r2, r7, 0x2
- adds r1, r2
- lsls r1, 5
- ldr r2, =0x06010000
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
- b _080732F4
- .pool
-_080732D4:
- ldr r0, [r5]
- movs r3, 0xBA
- lsls r3, 1
- adds r0, r3
- ldr r0, [r0]
- adds r0, r4
- ldrh r1, [r6, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r1, r7, r1
- lsls r1, 5
- ldr r2, =0x060100c0
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
-_080732F4:
- adds r4, 0x40
- adds r7, 0x1
- cmp r7, 0x4
- ble _08073296
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80730D4
-
- thumb_func_start sub_8073314
-sub_8073314: @ 8073314
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r0, 0
- mov r9, r0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r9, r0
- blt _0807332E
- b _080735BA
-_0807332E:
- ldr r1, =gSprites
- mov r10, r1
- ldr r2, =gBattlePartyID
- mov r8, r2
-_08073336:
- ldr r0, =gHealthBoxesIds
- mov r1, r9
- adds r6, r1, r0
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- mov r1, r10
- adds r1, 0x1C
- adds r0, r1
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- beq _08073354
- b _080735A8
-_08073354:
- mov r2, r9
- lsls r0, r2, 24
- lsrs r7, r0, 24
- adds r0, r7, 0
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0807336A
- b _080735A8
-_0807336A:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _08073382
- adds r0, r7, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08073382
- b _080735A8
-_08073382:
- ldr r5, =gBattleSpritesDataPtr
- ldr r0, [r5]
- ldr r3, [r0]
- mov r0, r9
- lsls r4, r0, 2
- adds r3, r4, r3
- ldr r0, [r3]
- lsls r0, 27
- lsrs r0, 31
- movs r2, 0x1
- eors r2, r0
- lsls r2, 4
- mov r12, r2
- ldrb r0, [r3]
- movs r2, 0x11
- negs r2, r2
- adds r1, r2, 0
- ands r0, r1
- mov r1, r12
- orrs r0, r1
- strb r0, [r3]
- ldr r0, [r5]
- ldr r0, [r0]
- adds r4, r0
- ldr r0, [r4]
- lsls r0, 27
- lsrs r4, r0, 31
- adds r0, r7, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _080734B0
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _080733D0
- b _080735A8
-_080733D0:
- ldr r0, =gBattleTypeFlags
- ldr r2, [r0]
- movs r0, 0x80
- ands r2, r0
- cmp r2, 0
- beq _080733DE
- b _080735A8
-_080733DE:
- cmp r4, 0x1
- bne _08073468
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrh r0, [r0, 0x38]
- lsls r0, 24
- lsrs r1, r0, 24
- str r2, [sp]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrh r1, [r0, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r2, =0x06010000
- adds r1, r2
- mov r0, sp
- ldr r2, =0x05000040
- bl CpuSet
- ldrb r4, [r6]
- mov r1, r8
- ldrh r0, [r1]
- movs r2, 0x64
- muls r0, r2
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- bl sub_8072E0C
- ldrb r4, [r6]
- mov r2, r8
- ldrh r0, [r2]
- movs r1, 0x64
- muls r0, r1
- ldr r2, =gPlayerParty
- b _08073536
- .pool
-_08073468:
- ldrb r0, [r6]
- bl draw_status_ailment_maybe
- ldrb r0, [r6]
- mov r2, r8
- ldrh r1, [r2]
- movs r2, 0x64
- muls r1, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0x5
- bl UpdateHealthboxAttribute
- movs r0, 0x75
- bl sub_80728A4
- ldrb r2, [r6]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- add r1, r10
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r2, =0x06010680
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
- b _08073592
- .pool
-_080734B0:
- cmp r4, 0x1
- bne _0807355C
- ldr r0, =gBattleTypeFlags
- ldr r2, [r0]
- movs r0, 0x80
- ands r2, r0
- cmp r2, 0
- beq _080734DC
- ldrb r0, [r6]
- mov r2, r8
- ldrh r1, [r2]
- movs r2, 0x64
- muls r1, r2
- ldr r2, =gEnemyParty
- adds r1, r2
- bl sub_80730D4
- b _08073592
- .pool
-_080734DC:
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrh r0, [r0, 0x38]
- lsls r0, 24
- lsrs r1, r0, 24
- str r2, [sp]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrh r1, [r0, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r0, =0x06010000
- adds r1, r0
- mov r0, sp
- ldr r2, =0x05000040
- bl CpuSet
- ldrb r4, [r6]
- mov r1, r8
- ldrh r0, [r1]
- movs r2, 0x64
- muls r0, r2
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- bl sub_8072E0C
- ldrb r4, [r6]
- mov r2, r8
- ldrh r0, [r2]
- movs r1, 0x64
- muls r0, r1
- ldr r2, =gEnemyParty
-_08073536:
- adds r0, r2
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_8072E0C
- b _08073592
- .pool
-_0807355C:
- ldrb r0, [r6]
- bl draw_status_ailment_maybe
- ldrb r0, [r6]
- mov r2, r8
- ldrh r1, [r2]
- movs r5, 0x64
- muls r1, r5
- ldr r4, =gEnemyParty
- adds r1, r4
- movs r2, 0x5
- bl UpdateHealthboxAttribute
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08073592
- ldrb r0, [r6]
- mov r2, r8
- ldrh r1, [r2]
- muls r1, r5
- adds r1, r4
- movs r2, 0x4
- bl UpdateHealthboxAttribute
-_08073592:
- ldr r0, =gHealthBoxesIds
- add r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrh r1, [r0, 0x3C]
- movs r2, 0x1
- eors r1, r2
- strh r1, [r0, 0x3C]
-_080735A8:
- movs r0, 0x2
- add r8, r0
- movs r1, 0x1
- add r9, r1
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r9, r0
- bge _080735BA
- b _08073336
-_080735BA:
- 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_8073314
-
- thumb_func_start sub_80735DC
-sub_80735DC: @ 80735DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r1, [sp, 0xC]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- lsls r2, 24
- lsrs r2, 24
- adds r4, r2, 0
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x10]
- cmp r4, 0
- beq _0807360C
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _0807365C
-_0807360C:
- ldr r0, [sp, 0x8]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08073630
- movs r0, 0
- mov r9, r0
- movs r5, 0x88
- movs r4, 0x60
- movs r1, 0x64
- mov r10, r1
- ldr r2, =0x0000fffb
- mov r8, r2
- b _0807366C
- .pool
-_08073630:
- movs r3, 0x1
- mov r9, r3
- cmp r4, 0
- beq _08073642
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _08073648
-_08073642:
- movs r5, 0x68
- movs r4, 0x28
- b _0807364C
-_08073648:
- movs r5, 0x68
- movs r4, 0x10
-_0807364C:
- ldr r6, =0x0000ff9c
- mov r10, r6
- movs r0, 0x5
- mov r8, r0
- b _0807366C
- .pool
-_0807365C:
- movs r1, 0x1
- mov r9, r1
- movs r5, 0x68
- movs r4, 0x28
- ldr r2, =0x0000ff9c
- mov r10, r2
- movs r3, 0x5
- mov r8, r3
-_0807366C:
- ldr r0, =gUnknown_0832C334
- bl LoadCompressedObjectPicUsingHeap
- ldr r0, =gUnknown_0832C34C
- bl LoadSpriteSheet
- ldr r0, =gUnknown_0832C33C
- bl LoadSpritePalette
- ldr r0, =gUnknown_0832C344
- bl LoadSpritePalette
- mov r0, r9
- lsls r6, r0, 1
- adds r0, r6, r0
- lsls r0, 3
- ldr r1, =gUnknown_0832C364
- adds r0, r1
- lsls r5, 16
- asrs r1, r5, 16
- lsls r4, 16
- asrs r2, r4, 16
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
- lsls r0, 4
- ldr r1, [sp, 0x14]
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r7, r0, r1
- ldr r1, =gUnknown_0832C2C4
- adds r0, r7, 0
- bl SetSubspriteTables
- mov r2, r10
- strh r2, [r7, 0x24]
- mov r3, r8
- strh r3, [r7, 0x2E]
- str r5, [sp, 0x1C]
- str r4, [sp, 0x20]
- mov r5, r9
- cmp r5, 0
- beq _08073700
- ldrh r0, [r7, 0x20]
- subs r0, 0x60
- strh r0, [r7, 0x20]
- ldrb r1, [r7, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r7, 0x3]
- b _08073706
- .pool
-_08073700:
- ldrh r0, [r7, 0x20]
- adds r0, 0x60
- strh r0, [r7, 0x20]
-_08073706:
- movs r0, 0
- mov r8, r0
- ldr r1, =gSprites
- mov r10, r1
- mov r7, sp
- mov r2, r9
- adds r0, r6, r2
- lsls r0, 3
- str r0, [sp, 0x18]
- movs r6, 0xA
- movs r5, 0
-_0807371C:
- ldr r0, =gUnknown_0832C394
- ldr r3, [sp, 0x20]
- ldr r1, =0xfffc0000
- adds r2, r3, r1
- ldr r3, [sp, 0x18]
- adds r0, r3, r0
- ldr r3, [sp, 0x1C]
- asrs r1, r3, 16
- asrs r2, 16
- movs r3, 0x9
- bl CreateSpriteAtEnd
- strb r0, [r7]
- ldr r0, [sp, 0x10]
- cmp r0, 0
- bne _0807374C
- ldrb r0, [r7]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r2, =gSprites + 0x1C
- adds r1, r2
- ldr r0, =sub_80741C8
- str r0, [r1]
-_0807374C:
- ldr r4, =gSprites
- mov r3, r9
- cmp r3, 0
- bne _0807376E
- ldrb r1, [r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- strh r3, [r0, 0x24]
- ldrb r1, [r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- mov r1, r9
- strh r1, [r0, 0x26]
-_0807376E:
- ldrb r1, [r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0
- mov r2, sp
- ldrh r2, [r2, 0x14]
- strh r2, [r0, 0x2E]
- mov r3, r9
- cmp r3, 0
- bne _080737C8
- ldrb r0, [r7]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r1, 0x20]
- adds r0, 0x18
- adds r0, r5
- strh r0, [r1, 0x20]
- ldrb r1, [r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r6, [r0, 0x30]
- ldrb r1, [r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x78
- b _0807380A
- .pool
-_080737C8:
- ldrb r0, [r7]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- ldrh r3, [r2, 0x20]
- subs r3, 0x18
- movs r1, 0x5
- mov r0, r8
- subs r1, r0
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- subs r3, r0
- strh r3, [r2, 0x20]
- ldrb r0, [r7]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- movs r1, 0x6
- mov r3, r8
- subs r1, r3
- lsls r0, r1, 3
- subs r0, r1
- adds r0, 0xA
- strh r0, [r2, 0x30]
- ldrb r1, [r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000ff88
-_0807380A:
- strh r1, [r0, 0x24]
- ldrb r1, [r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- mov r1, r9
- strh r1, [r0, 0x32]
- adds r7, 0x1
- adds r6, 0x7
- adds r5, 0xA
- movs r2, 0x1
- add r8, r2
- mov r3, r8
- cmp r3, 0x5
- bgt _0807382C
- b _0807371C
-_0807382C:
- ldr r0, [sp, 0x8]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _0807383A
- b _080739E8
-_0807383A:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r2, 0x40
- ands r1, r2
- cmp r1, 0
- beq _080738F4
- ldr r5, =0x0000ffff
- mov r10, r5
- ldr r6, =gSprites
- ldr r0, =0x000003ff
- adds r7, r0, 0
- ldr r1, =0xfffffc00
- mov r9, r1
- mov r4, sp
- ldr r5, [sp, 0xC]
- movs r2, 0x5
- mov r8, r2
-_0807385C:
- ldrh r0, [r5]
- cmp r0, r10
- bne _080738A8
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x1
- ands r1, r7
- mov r0, r9
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x1
- strh r1, [r0, 0x3C]
- b _080738E2
- .pool
-_080738A8:
- cmp r0, 0
- bne _080738C0
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x3
- b _080738D8
-_080738C0:
- ldr r0, [r5, 0x4]
- cmp r0, 0
- beq _080738E2
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x2
-_080738D8:
- ands r1, r7
- mov r0, r9
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
-_080738E2:
- adds r4, 0x1
- adds r5, 0x8
- movs r3, 0x1
- negs r3, r3
- add r8, r3
- mov r0, r8
- cmp r0, 0
- bge _0807385C
- b _08073B9A
-_080738F4:
- movs r1, 0x5
- mov r10, r1
- movs r7, 0
- ldr r2, =gSprites
- mov r8, r2
- ldr r3, =0x000003ff
- mov r9, r3
- ldr r5, =0xfffffc00
- mov r12, r5
- ldr r6, [sp, 0xC]
- mov r5, sp
-_0807390A:
- ldrh r0, [r6]
- ldr r1, =0x0000ffff
- cmp r0, r1
- bne _08073958
- mov r4, sp
- add r4, r10
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r8
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x1
- mov r0, r9
- ands r1, r0
- mov r0, r12
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- movs r1, 0x1
- strh r1, [r0, 0x3C]
- subs r1, 0x2
- add r10, r1
- b _080739DE
- .pool
-_08073958:
- cmp r0, 0
- bne _08073970
- ldrb r0, [r5]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r8
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x3
- b _080739D0
-_08073970:
- ldr r1, =gBattleTypeFlags
- ldr r0, [r1]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _080739B8
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- movs r2, 0xA8
- lsls r2, 2
- adds r0, r2
- ldrb r1, [r0]
- ldr r2, =gBitTable
- lsls r0, r7, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _080739B8
- ldrb r0, [r5]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r8
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x3
- b _080739D0
- .pool
-_080739B8:
- ldr r0, [r6, 0x4]
- cmp r0, 0
- beq _080739DC
- ldrb r0, [r5]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r8
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x2
-_080739D0:
- mov r0, r9
- ands r1, r0
- mov r0, r12
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
-_080739DC:
- adds r5, 0x1
-_080739DE:
- adds r6, 0x8
- adds r7, 0x1
- cmp r7, 0x5
- ble _0807390A
- b _08073B9A
-_080739E8:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r2, =0x00008040
- ands r1, r2
- cmp r1, 0
- beq _08073AA4
- ldr r1, =0x0000ffff
- mov r10, r1
- ldr r6, =gSprites
- ldr r2, =0x000003ff
- adds r7, r2, 0
- ldr r3, =0xfffffc00
- mov r9, r3
- ldr r5, [sp, 0xC]
- mov r4, sp
- adds r4, 0x5
- movs r0, 0x5
- mov r8, r0
-_08073A0C:
- ldrh r0, [r5]
- cmp r0, r10
- bne _08073A58
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x1
- ands r1, r7
- mov r0, r9
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x1
- strh r1, [r0, 0x3C]
- b _08073A92
- .pool
-_08073A58:
- cmp r0, 0
- bne _08073A70
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x3
- b _08073A88
-_08073A70:
- ldr r0, [r5, 0x4]
- cmp r0, 0
- beq _08073A92
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x2
-_08073A88:
- ands r1, r7
- mov r0, r9
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
-_08073A92:
- subs r4, 0x1
- adds r5, 0x8
- movs r1, 0x1
- negs r1, r1
- add r8, r1
- mov r2, r8
- cmp r2, 0
- bge _08073A0C
- b _08073B9A
-_08073AA4:
- movs r3, 0
- mov r8, r3
- movs r7, 0
- ldr r5, =gSprites
- mov r9, r5
- ldr r6, =0x000003ff
- mov r12, r6
- ldr r0, =0xfffffc00
- mov r10, r0
- ldr r6, [sp, 0xC]
- mov r5, sp
- adds r5, 0x5
-_08073ABC:
- ldrh r0, [r6]
- ldr r1, =0x0000ffff
- cmp r0, r1
- bne _08073B08
- mov r4, sp
- add r4, r8
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r9
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x1
- mov r0, r12
- ands r1, r0
- mov r0, r10
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- movs r1, 0x1
- strh r1, [r0, 0x3C]
- add r8, r1
- b _08073B92
- .pool
-_08073B08:
- cmp r0, 0
- bne _08073B20
- ldrb r0, [r5]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r9
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x3
- b _08073B84
-_08073B20:
- ldr r1, =gBattleTypeFlags
- ldr r0, [r1]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _08073B6C
- ldr r2, =gBattleStruct
- ldr r0, [r2]
- ldr r3, =0x000002a1
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r7, 2
- ldr r2, =gBitTable
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08073B6C
- ldrb r0, [r5]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r9
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x3
- b _08073B84
- .pool
-_08073B6C:
- ldr r0, [r6, 0x4]
- cmp r0, 0
- beq _08073B90
- ldrb r0, [r5]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r9
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x2
-_08073B84:
- mov r0, r12
- ands r1, r0
- mov r0, r10
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
-_08073B90:
- subs r5, 0x1
-_08073B92:
- adds r6, 0x8
- adds r7, 0x1
- cmp r7, 0x5
- ble _08073ABC
-_08073B9A:
- ldr r0, =TaskDummy
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, =gTasks
- lsls r3, r4, 2
- adds r1, r3, r4
- lsls r1, 3
- adds r0, r1, r2
- mov r5, sp
- ldrh r5, [r5, 0x8]
- strh r5, [r0, 0x8]
- mov r6, sp
- ldrh r6, [r6, 0x14]
- strh r6, [r0, 0xA]
- movs r0, 0
- mov r8, r0
- adds r0, r2, 0
- adds r0, 0xE
- adds r1, r0
-_08073BC6:
- mov r0, sp
- add r0, r8
- ldrb r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- movs r5, 0x1
- add r8, r5
- mov r6, r8
- cmp r6, 0x5
- ble _08073BC6
- adds r0, r3, r4
- lsls r0, 3
- adds r0, r2
- mov r1, sp
- ldrh r1, [r1, 0x10]
- strh r1, [r0, 0x1C]
- ldr r2, [sp, 0x10]
- cmp r2, 0
- beq _08073C0A
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r3, [r0, 0x8]
- ldrb r2, [r3, 0x9]
- lsls r1, r2, 27
- lsrs r1, 29
- adds r1, 0x1
- movs r0, 0x7
- ands r1, r0
- lsls r1, 2
- movs r0, 0x1D
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x9]
-_08073C0A:
- movs r0, 0x72
- movs r1, 0
- bl PlaySE12WithPanning
- adds r0, r4, 0
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80735DC
-
- thumb_func_start sub_8073C30
-sub_8073C30: @ 8073C30
- 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 r8, r0
- ldr r2, =gTasks
- lsls r3, r0, 2
- adds r1, r3, r0
- lsls r1, 3
- adds r0, r1, r2
- ldrb r7, [r0, 0x1C]
- ldrb r4, [r0, 0xA]
- mov r10, r4
- ldrb r0, [r0, 0x8]
- str r0, [sp, 0x8]
- movs r5, 0
- str r3, [sp, 0xC]
- adds r2, 0xE
- adds r2, r1, r2
-_08073C5E:
- mov r0, sp
- adds r1, r0, r5
- ldrh r0, [r2]
- strb r0, [r1]
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, 0x5
- ble _08073C5E
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0x10
- bl SetGpuReg
- ldr r1, =gTasks
- ldr r0, [sp, 0xC]
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x10
- strh r1, [r0, 0x26]
- movs r5, 0
- mov r1, r10
- lsls r1, 4
- str r1, [sp, 0x10]
- ldr r3, =gSprites
- movs r6, 0xD
- negs r6, r6
- mov r12, r3
- movs r4, 0x4
-_08073CA0:
- mov r2, sp
- adds r0, r2, r5
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r1, 0x1]
- adds r0, r6, 0
- ands r0, r2
- orrs r0, r4
- strb r0, [r1, 0x1]
- adds r5, 0x1
- cmp r5, 0x5
- ble _08073CA0
- ldr r2, [sp, 0x10]
- add r2, r10
- lsls r2, 2
- add r2, r12
- ldrb r1, [r2, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x1]
- cmp r7, 0
- bne _08073CDA
- b _08073DE0
-_08073CDA:
- movs r5, 0
- mov r6, r12
- mov r9, r5
- adds r3, r6, 0
- adds r3, 0x1C
- mov r4, sp
- movs r7, 0
-_08073CE8:
- ldr r0, [sp, 0x8]
- str r3, [sp, 0x14]
- bl GetBankSide
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, [sp, 0x14]
- cmp r2, 0
- beq _08073D4C
- movs r0, 0x5
- subs r0, r5
- mov r1, sp
- adds r2, r1, r0
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r7, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r1, r9
- strh r1, [r0, 0x34]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r1, r9
- strh r1, [r0, 0x36]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r1, =sub_8074158
- str r1, [r0]
- ldr r2, =gSprites
- mov r12, r2
- b _08073D82
- .pool
-_08073D4C:
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r7, [r0, 0x30]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x34]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x36]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r1, =sub_8074158
- str r1, [r0]
- ldr r0, =gSprites
- mov r12, r0
-_08073D82:
- adds r4, 0x1
- adds r7, 0x7
- adds r5, 0x1
- cmp r5, 0x5
- ble _08073CE8
- ldr r3, [sp, 0x10]
- add r3, r10
- lsls r3, 2
- mov r1, r12
- adds r0, r3, r1
- movs r2, 0x2E
- ldrsh r1, [r0, r2]
- lsrs r2, r1, 31
- adds r1, r2
- asrs r1, 1
- movs r2, 0
- strh r1, [r0, 0x2E]
- strh r2, [r0, 0x30]
- mov r1, r12
- adds r1, 0x1C
- adds r3, r1
- ldr r1, =sub_8074090
- str r1, [r3]
- ldr r1, =gUnknown_0832C2CC
- bl SetSubspriteTables
- ldr r1, =gTasks
- ldr r0, [sp, 0xC]
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_battle_throw_own_ball
- str r1, [r0]
- b _08073DEE
- .pool
-_08073DE0:
- ldr r0, =gTasks
- ldr r1, [sp, 0xC]
- add r1, r8
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8073F98
- str r0, [r1]
-_08073DEE:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8073C30
-
- thumb_func_start task_battle_throw_own_ball
-task_battle_throw_own_ball: @ 8073E08
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1E]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08073E48
- ldrh r0, [r4, 0x26]
- subs r1, r0, 0x1
- strh r1, [r4, 0x26]
- lsls r0, r1, 16
- cmp r0, 0
- blt _08073E54
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
-_08073E48:
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08073E54
- ldr r0, =sub_8073E64
- str r0, [r4]
-_08073E54:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_battle_throw_own_ball
-
- thumb_func_start sub_8073E64
-sub_8073E64: @ 8073E64
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r7, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r3, r0, 3
- adds r4, r3, r7
- ldrb r2, [r4, 0x8]
- ldrh r0, [r4, 0x26]
- subs r0, 0x1
- strh r0, [r4, 0x26]
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _08073F54
- ldrb r5, [r4, 0xA]
- movs r4, 0
- ldr r6, =gBattleSpritesDataPtr
- adds r0, r7, 0
- adds r0, 0xE
- adds r2, r3, r0
-_08073E96:
- mov r0, sp
- adds r1, r0, r4
- ldrh r0, [r2]
- strb r0, [r1]
- adds r2, 0x2
- adds r4, 0x1
- cmp r4, 0x5
- ble _08073E96
- ldr r0, [r6]
- ldr r3, [r0, 0x8]
- ldrb r2, [r3, 0x9]
- lsls r1, r2, 27
- lsrs r1, 29
- subs r1, 0x1
- movs r0, 0x7
- ands r1, r0
- lsls r1, 2
- movs r0, 0x1D
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x9]
- ldr r0, [r6]
- ldr r0, [r0, 0x8]
- ldrb r1, [r0, 0x9]
- movs r0, 0x1C
- ands r0, r1
- cmp r0, 0
- bne _08073EFC
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySpriteAndFreeResources
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySpriteAndFreeResources
- b _08073F32
- .pool
-_08073EFC:
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r5, =gSprites
- adds r4, r5
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl FreeSpriteOamMatrix
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
-_08073F32:
- movs r4, 0x1
- ldr r5, =gSprites
-_08073F36:
- mov r1, sp
- adds r0, r1, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- adds r4, 0x1
- cmp r4, 0x5
- ble _08073F36
- b _08073F8A
- .pool
-_08073F54:
- movs r0, 0x3
- negs r0, r0
- cmp r1, r0
- bne _08073F8A
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyTask
-_08073F8A:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8073E64
-
- thumb_func_start sub_8073F98
-sub_8073F98: @ 8073F98
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r7, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r6, r0, 3
- adds r3, r6, r7
- ldrb r5, [r3, 0x8]
- ldrh r0, [r3, 0x26]
- subs r1, r0, 0x1
- strh r1, [r3, 0x26]
- lsls r0, r1, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _08073FD4
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- b _0807406A
- .pool
-_08073FD4:
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- bne _08074034
- ldrb r3, [r3, 0xA]
- movs r5, 0
- adds r0, r7, 0
- adds r0, 0xE
- adds r2, r6, r0
-_08073FE6:
- mov r0, sp
- adds r1, r0, r5
- ldrh r0, [r2]
- strb r0, [r1]
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, 0x5
- ble _08073FE6
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySpriteAndFreeResources
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySpriteAndFreeResources
- movs r5, 0x1
-_08074016:
- mov r1, sp
- adds r0, r1, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- adds r5, 0x1
- cmp r5, 0x5
- ble _08074016
- b _0807406A
- .pool
-_08074034:
- movs r0, 0x3
- negs r0, r0
- cmp r2, r0
- bne _0807406A
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyTask
-_0807406A:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8073F98
-
- thumb_func_start sub_8074078
-sub_8074078: @ 8074078
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x24]
- movs r3, 0x24
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0807408C
- ldrh r0, [r1, 0x2E]
- adds r0, r2, r0
- strh r0, [r1, 0x24]
-_0807408C:
- pop {r0}
- bx r0
- thumb_func_end sub_8074078
-
- thumb_func_start sub_8074090
-sub_8074090: @ 8074090
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- adds r1, r0, 0
- adds r1, 0x20
- strh r1, [r2, 0x30]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _080740AE
- lsls r0, r1, 16
- asrs r0, 20
- ldrh r1, [r2, 0x24]
- adds r0, r1
- b _080740B6
-_080740AE:
- lsls r1, 16
- asrs r1, 20
- ldrh r0, [r2, 0x24]
- subs r0, r1
-_080740B6:
- strh r0, [r2, 0x24]
- ldrh r1, [r2, 0x30]
- movs r0, 0xF
- ands r0, r1
- strh r0, [r2, 0x30]
- pop {r0}
- bx r0
- thumb_func_end sub_8074090
-
- thumb_func_start sub_80740C4
-sub_80740C4: @ 80740C4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080740D8
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
- b _0807414E
-_080740D8:
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r3, r0, 24
- ldrh r2, [r4, 0x34]
- adds r0, r2, 0
- adds r0, 0x38
- lsls r1, r0, 16
- lsrs r2, r1, 16
- ldr r0, =0x0000fff0
- ands r2, r0
- strh r2, [r4, 0x34]
- cmp r3, 0
- beq _0807410C
- lsrs r0, r1, 20
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _0807411C
- movs r0, 0
- strh r0, [r4, 0x24]
- b _0807411C
- .pool
-_0807410C:
- lsrs r1, 20
- ldrh r0, [r4, 0x24]
- subs r0, r1
- strh r0, [r4, 0x24]
- lsls r0, 16
- cmp r0, 0
- bge _0807411C
- strh r3, [r4, 0x24]
-_0807411C:
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0807414E
- movs r1, 0x3F
- cmp r3, 0
- beq _0807412C
- movs r1, 0xC0
-_0807412C:
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08074140
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x74
- bl PlaySE2WithPanning
- b _0807414A
-_08074140:
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x73
- bl PlaySE1WithPanning
-_0807414A:
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_0807414E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80740C4
-
- thumb_func_start sub_8074158
-sub_8074158: @ 8074158
- push {r4,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x30]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r0, 0
- ble _0807416C
- subs r0, r1, 0x1
- strh r0, [r3, 0x30]
- b _080741BC
-_0807416C:
- ldrh r0, [r3, 0x32]
- lsls r0, 24
- ldrh r2, [r3, 0x34]
- adds r1, r2, 0
- adds r1, 0x38
- lsls r4, r1, 16
- lsrs r2, r4, 16
- ldr r1, =0x0000fff0
- ands r2, r1
- strh r2, [r3, 0x34]
- cmp r0, 0
- beq _08074190
- lsrs r0, r4, 20
- ldrh r1, [r3, 0x24]
- adds r0, r1
- b _08074196
- .pool
-_08074190:
- lsrs r1, r4, 20
- ldrh r0, [r3, 0x24]
- subs r0, r1
-_08074196:
- strh r0, [r3, 0x24]
- movs r2, 0x24
- ldrsh r0, [r3, r2]
- movs r2, 0x20
- ldrsh r1, [r3, r2]
- adds r0, r1
- adds r0, 0x8
- movs r1, 0x80
- lsls r1, 1
- cmp r0, r1
- bls _080741BC
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =SpriteCallbackDummy
- str r0, [r3, 0x1C]
-_080741BC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8074158
-
- thumb_func_start sub_80741C8
-sub_80741C8: @ 80741C8
- ldrh r2, [r0, 0x2E]
- lsls r2, 24
- lsrs r2, 24
- ldr r3, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- ldrh r2, [r1, 0x24]
- strh r2, [r0, 0x24]
- ldrh r1, [r1, 0x26]
- strh r1, [r0, 0x26]
- bx lr
- .pool
- thumb_func_end sub_80741C8
-
- thumb_func_start sub_80741E8
-sub_80741E8: @ 80741E8
- push {r4-r7,lr}
- sub sp, 0x14
- adds r4, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r5, =gDisplayedStringBattle
- ldr r1, =gText_HighlightDarkGrey
- adds r0, r5, 0
- bl StringCopy
- adds r0, r4, 0
- movs r1, 0x2
- add r2, sp, 0x4
- bl GetMonData
- add r0, sp, 0x4
- bl StringGetEnd10
- adds r0, r5, 0
- add r1, sp, 0x4
- bl StringAppend
- adds r5, r0, 0
- adds r0, r4, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, 0x1D
- beq _08074236
- cmp r0, 0x20
- bne _0807424A
-_08074236:
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- add r0, sp, 0x4
- bl StringCompare
- cmp r0, 0
- bne _0807424A
- movs r6, 0x64
-_0807424A:
- cmp r6, 0
- beq _08074268
- cmp r6, 0xFE
- beq _08074270
- ldr r1, =gText_DynColor2
- b _08074272
- .pool
-_08074268:
- ldr r1, =gText_DynColor2Male
- b _08074272
- .pool
-_08074270:
- ldr r1, =gText_DynColor1Female
-_08074272:
- adds r0, r5, 0
- bl StringCopy
- ldr r0, =gDisplayedStringBattle
- add r1, sp, 0x10
- str r1, [sp]
- movs r1, 0
- movs r2, 0x3
- movs r3, 0x2
- bl write_to_rbox
- adds r6, r0, 0
- ldr r0, =gSprites
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x4]
- lsls r0, 22
- lsrs r4, r0, 17
- ldrh r0, [r1, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _080742F0
- ldr r1, =0x06010040
- adds r0, r4, r1
- adds r1, r6, 0
- movs r2, 0x6
- bl sub_8075198
- bl IsDoubleBattle
- lsls r0, 24
- ldr r1, =0x06010400
- adds r5, r4, r1
- cmp r0, 0
- bne _080742C8
- ldr r0, =0x06010800
- adds r5, r4, r0
-_080742C8:
- adds r1, r6, 0
- adds r1, 0xC0
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8075198
- b _080742FC
- .pool
-_080742F0:
- ldr r1, =0x06010020
- adds r0, r4, r1
- adds r1, r6, 0
- movs r2, 0x7
- bl sub_8075198
-_080742FC:
- ldr r0, [sp, 0x10]
- bl sub_807512C
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80741E8
-
- thumb_func_start sub_8074310
-sub_8074310: @ 8074310
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- bne _080743E6
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- bne _080743E6
- ldr r6, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r0, r6
- ldrh r0, [r5, 0x3A]
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _080743E6
- 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
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080743E6
- ldrh r0, [r5, 0x38]
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r7, 0
- beq _080743C4
- movs r0, 0x46
- bl sub_80728A4
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r6
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 17
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2
- ldr r2, =0x06010000
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
- b _080743E6
- .pool
-_080743C4:
- str r7, [sp]
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r0, 0x4]
- lsls r1, 22
- lsrs r1, 17
- movs r0, 0x80
- lsls r0, 1
- adds r1, r0
- ldr r0, =0x06010000
- adds r1, r0
- ldr r2, =0x05000008
- mov r0, sp
- bl CpuSet
-_080743E6:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8074310
-
- thumb_func_start draw_status_ailment_maybe
-draw_status_ailment_maybe: @ 80743F8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, =gSprites
- mov r2, r9
- lsls r1, r2, 4
- add r1, r9
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x3A]
- lsls r0, 24
- lsrs r7, r0, 24
- ldrh r0, [r1, 0x38]
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- adds r0, r7, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08074468
- ldr r1, =gBattlePartyID
- lsls r0, r7, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x37
- bl GetMonData
- adds r4, r0, 0
- bl IsDoubleBattle
- lsls r0, 24
- movs r3, 0x12
- mov r8, r3
- cmp r0, 0
- bne _08074484
- movs r0, 0x1A
- mov r8, r0
- b _08074484
- .pool
-_08074468:
- ldr r1, =gBattlePartyID
- lsls r0, r7, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x37
- bl GetMonData
- adds r4, r0, 0
- movs r1, 0x11
- mov r8, r1
-_08074484:
- movs r0, 0x7
- ands r0, r4
- cmp r0, 0
- beq _080744AC
- movs r0, 0x1B
- adds r1, r7, 0
- bl sub_80746A8
- lsls r0, 24
- lsrs r0, 24
- bl sub_80728A4
- adds r6, r0, 0
- movs r0, 0x2
- b _080745B8
- .pool
-_080744AC:
- movs r0, 0x88
- ands r0, r4
- cmp r0, 0
- beq _080744CA
- movs r0, 0x15
- adds r1, r7, 0
- bl sub_80746A8
- lsls r0, 24
- lsrs r0, 24
- bl sub_80728A4
- adds r6, r0, 0
- movs r0, 0
- b _080745B8
-_080744CA:
- movs r0, 0x10
- ands r0, r4
- cmp r0, 0
- beq _080744E8
- movs r0, 0x21
- adds r1, r7, 0
- bl sub_80746A8
- lsls r0, 24
- lsrs r0, 24
- bl sub_80728A4
- adds r6, r0, 0
- movs r0, 0x4
- b _080745B8
-_080744E8:
- movs r0, 0x20
- ands r0, r4
- cmp r0, 0
- beq _08074506
- movs r0, 0x1E
- adds r1, r7, 0
- bl sub_80746A8
- lsls r0, 24
- lsrs r0, 24
- bl sub_80728A4
- adds r6, r0, 0
- movs r0, 0x3
- b _080745B8
-_08074506:
- movs r0, 0x40
- ands r0, r4
- cmp r0, 0
- beq _08074524
- movs r0, 0x18
- adds r1, r7, 0
- bl sub_80746A8
- lsls r0, 24
- lsrs r0, 24
- bl sub_80728A4
- adds r6, r0, 0
- movs r0, 0x1
- b _080745B8
-_08074524:
- movs r0, 0x27
- bl sub_80728A4
- adds r6, r0, 0
- movs r4, 0
- mov r2, r9
- lsls r0, r2, 4
- mov r3, r8
- lsls r3, 16
- mov r8, r3
- lsls r7, 2
- ldr r1, =gSprites
- add r0, r9
- lsls r0, 2
- adds r5, r0, r1
-_08074542:
- ldrh r1, [r5, 0x4]
- lsls r1, 22
- lsrs r1, 22
- mov r2, r8
- asrs r0, r2, 16
- adds r1, r0
- adds r1, r4
- lsls r1, 5
- ldr r3, =0x06010000
- adds r1, r3
- adds r0, r6, 0
- ldr r2, =0x04000008
- bl CpuSet
- adds r4, 0x1
- cmp r4, 0x2
- ble _08074542
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, r7, r0
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08074598
- movs r0, 0x1
- bl sub_80728A4
- ldr r2, =gSprites
- mov r3, r10
- lsls r1, r3, 4
- add r1, r10
- lsls r1, 2
- adds r1, r2
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r2, =0x06010000
- adds r1, r2
- ldr r2, =0x04000010
- bl CpuSet
-_08074598:
- mov r0, r9
- movs r1, 0x1
- bl sub_8074310
- b _0807467A
- .pool
-_080745B8:
- mov r1, r9
- lsls r5, r1, 4
- add r5, r9
- lsls r5, 2
- ldr r2, =gSprites
- adds r5, r2
- ldrb r4, [r5, 0x5]
- lsrs r4, 4
- lsls r4, 4
- adds r4, 0xC
- adds r4, r7
- ldr r1, =gUnknown_0832C3EC
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- movs r3, 0x80
- lsls r3, 1
- adds r1, r4, r3
- movs r2, 0x2
- bl FillPalette
- lsls r4, 1
- ldr r0, =gPlttBufferUnfaded + 0x200
- adds r0, r4, r0
- ldr r1, =0x05000200
- adds r4, r1
- adds r1, r4, 0
- movs r2, 0x1
- bl CpuSet
- ldrh r1, [r5, 0x4]
- lsls r1, 22
- lsrs r1, 22
- add r1, r8
- lsls r1, 5
- ldr r2, =0x06010000
- mov r8, r2
- add r1, r8
- ldr r2, =0x04000018
- adds r0, r6, 0
- bl CpuSet
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08074626
- adds r0, r7, 0
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08074672
-_08074626:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r7, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08074672
- movs r0, 0
- bl sub_80728A4
- mov r3, r10
- lsls r4, r3, 4
- add r4, r10
- lsls r4, 2
- ldr r1, =gSprites
- adds r4, r1
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- add r1, r8
- ldr r5, =0x04000008
- adds r2, r5, 0
- bl CpuSet
- movs r0, 0x41
- bl sub_80728A4
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- adds r1, 0x20
- add r1, r8
- adds r2, r5, 0
- bl CpuSet
-_08074672:
- mov r0, r9
- movs r1, 0
- bl sub_8074310
-_0807467A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end draw_status_ailment_maybe
-
- thumb_func_start sub_80746A8
-sub_80746A8: @ 80746A8
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsrs r2, r0, 24
- adds r0, r2, 0
- subs r0, 0x15
- cmp r0, 0xC
- bhi _08074768
- lsls r0, 2
- ldr r1, =_080746C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080746C8:
- .4byte _080746FC
- .4byte _08074768
- .4byte _08074768
- .4byte _08074712
- .4byte _08074768
- .4byte _08074768
- .4byte _08074728
- .4byte _08074768
- .4byte _08074768
- .4byte _0807473E
- .4byte _08074768
- .4byte _08074768
- .4byte _08074754
-_080746FC:
- movs r2, 0x15
- cmp r3, 0
- beq _08074768
- movs r2, 0x47
- cmp r3, 0x1
- beq _08074768
- movs r2, 0x65
- cmp r3, 0x2
- bne _08074768
- movs r2, 0x56
- b _08074768
-_08074712:
- movs r2, 0x18
- cmp r3, 0
- beq _08074768
- movs r2, 0x4A
- cmp r3, 0x1
- beq _08074768
- movs r2, 0x68
- cmp r3, 0x2
- bne _08074768
- movs r2, 0x59
- b _08074768
-_08074728:
- movs r2, 0x1B
- cmp r3, 0
- beq _08074768
- movs r2, 0x4D
- cmp r3, 0x1
- beq _08074768
- movs r2, 0x6B
- cmp r3, 0x2
- bne _08074768
- movs r2, 0x5C
- b _08074768
-_0807473E:
- movs r2, 0x1E
- cmp r3, 0
- beq _08074768
- movs r2, 0x50
- cmp r3, 0x1
- beq _08074768
- movs r2, 0x6E
- cmp r3, 0x2
- bne _08074768
- movs r2, 0x5F
- b _08074768
-_08074754:
- movs r2, 0x21
- cmp r3, 0
- beq _08074768
- movs r2, 0x53
- cmp r3, 0x1
- beq _08074768
- movs r2, 0x71
- cmp r3, 0x2
- bne _08074768
- movs r2, 0x62
-_08074768:
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80746A8
-
- thumb_func_start sub_8074770
-sub_8074770: @ 8074770
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gText_SafariBalls
- add r1, sp, 0x4
- str r1, [sp]
- movs r1, 0
- movs r2, 0x3
- movs r3, 0x2
- bl write_to_rbox
- adds r5, r0, 0
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrh r4, [r0, 0x4]
- lsls r4, 22
- lsrs r4, 17
- ldr r1, =0x06010040
- adds r0, r4, r1
- adds r1, r5, 0
- movs r2, 0x6
- bl sub_8075198
- ldr r0, =0x06010800
- adds r4, r0
- adds r5, 0xC0
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl sub_8075198
- ldr r0, [sp, 0x4]
- bl sub_807512C
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8074770
-
- thumb_func_start sub_80747D8
-sub_80747D8: @ 80747D8
- push {r4,r5,lr}
- sub sp, 0x18
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gText_SafariBallLeft
- add r0, sp, 0x4
- bl StringCopy
- ldr r1, =gNumSafariBalls
- ldrb r1, [r1]
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r0, 0
- add r1, sp, 0x4
- movs r2, 0x2F
- bl GetStringRightAlignXOffset
- adds r1, r0, 0
- add r0, sp, 0x14
- str r0, [sp]
- add r0, sp, 0x4
- movs r2, 0x3
- movs r3, 0x2
- bl write_to_rbox
- adds r5, r0, 0
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrh r4, [r0, 0x4]
- lsls r4, 22
- lsrs r4, 17
- ldr r1, =0x060102c0
- adds r0, r4, r1
- adds r1, r5, 0
- movs r2, 0x2
- bl sub_80751E4
- ldr r0, =0x06010a00
- adds r4, r0
- adds r5, 0x40
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl sub_80751E4
- ldr r0, [sp, 0x14]
- bl sub_807512C
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80747D8
-
- thumb_func_start UpdateHealthboxAttribute
-UpdateHealthboxAttribute: @ 8074860
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r1
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r1, =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- cmp r7, 0
- bne _0807489C
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0807489C
- mov r0, r9
- bl GetBankSide
-_0807489C:
- ldr r1, =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _080748B8
- b _08074A18
-_080748B8:
- cmp r7, 0x3
- beq _080748C0
- cmp r7, 0
- bne _080748D4
-_080748C0:
- mov r0, r8
- movs r1, 0x38
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl healthbar_draw_level
-_080748D4:
- cmp r7, 0x1
- bhi _080748EE
- mov r0, r8
- movs r1, 0x39
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r6, 0
- movs r2, 0
- bl heathbar_draw_hp
-_080748EE:
- cmp r7, 0x2
- beq _080748F6
- cmp r7, 0
- bne _0807490C
-_080748F6:
- mov r0, r8
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r6, 0
- movs r2, 0x1
- bl heathbar_draw_hp
-_0807490C:
- cmp r7, 0x5
- beq _08074914
- cmp r7, 0
- bne _08074948
-_08074914:
- movs r0, 0
- bl load_gfxc_health_bar
- mov r0, r8
- movs r1, 0x3A
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- movs r0, 0
- str r0, [sp]
- mov r0, r9
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_807294C
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_8074AA0
-_08074948:
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0
- bne _080749CE
- cmp r7, 0x6
- beq _0807495E
- cmp r7, 0
- bne _080749CE
-_0807495E:
- movs r0, 0x3
- bl load_gfxc_health_bar
- mov r0, r8
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- mov r0, r8
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r0, r8
- movs r1, 0x19
- bl GetMonData
- adds r3, r0, 0
- ldr r0, =gExperienceTables
- mov r12, r0
- lsls r1, r4, 2
- ldr r2, =gBaseStats
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x13]
- movs r0, 0xCA
- lsls r0, 1
- muls r0, r2
- adds r1, r0
- add r1, r12
- ldr r1, [r1]
- subs r3, r1
- adds r4, 0x1
- lsls r4, 2
- adds r4, r0
- add r4, r12
- ldr r2, [r4]
- subs r2, r1
- mov r0, r10
- str r0, [sp]
- mov r0, r9
- adds r1, r6, 0
- bl sub_807294C
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8074AA0
-_080749CE:
- cmp r7, 0x4
- beq _080749D6
- cmp r7, 0
- bne _080749DE
-_080749D6:
- adds r0, r6, 0
- mov r1, r8
- bl sub_80741E8
-_080749DE:
- cmp r7, 0x9
- beq _080749E6
- cmp r7, 0
- bne _080749EC
-_080749E6:
- adds r0, r6, 0
- bl draw_status_ailment_maybe
-_080749EC:
- cmp r7, 0xA
- bne _080749F6
- adds r0, r6, 0
- bl sub_8074770
-_080749F6:
- adds r0, r7, 0
- subs r0, 0xA
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08074A8E
- adds r0, r6, 0
- bl sub_80747D8
- b _08074A8E
- .pool
-_08074A18:
- cmp r7, 0x3
- beq _08074A20
- cmp r7, 0
- bne _08074A34
-_08074A20:
- mov r0, r8
- movs r1, 0x38
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl healthbar_draw_level
-_08074A34:
- cmp r7, 0x5
- beq _08074A3C
- cmp r7, 0
- bne _08074A70
-_08074A3C:
- movs r0, 0
- bl load_gfxc_health_bar
- mov r0, r8
- movs r1, 0x3A
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- movs r0, 0
- str r0, [sp]
- mov r0, r9
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_807294C
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_8074AA0
-_08074A70:
- cmp r7, 0x4
- beq _08074A78
- cmp r7, 0
- bne _08074A80
-_08074A78:
- adds r0, r6, 0
- mov r1, r8
- bl sub_80741E8
-_08074A80:
- cmp r7, 0x9
- beq _08074A88
- cmp r7, 0
- bne _08074A8E
-_08074A88:
- adds r0, r6, 0
- bl draw_status_ailment_maybe
-_08074A8E:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end UpdateHealthboxAttribute
-
- thumb_func_start sub_8074AA0
-sub_8074AA0: @ 8074AA0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- cmp r2, 0
- bne _08074AEC
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- mov r1, r8
- lsls r5, r1, 2
- adds r3, r5, r1
- lsls r3, 2
- adds r3, r0
- ldr r0, [r3, 0x4]
- ldr r1, [r3, 0x8]
- ldr r2, [r3, 0xC]
- adds r3, 0x10
- movs r4, 0x6
- str r4, [sp]
- movs r4, 0x1
- str r4, [sp, 0x4]
- bl sub_8074DB8
- adds r4, r0, 0
- adds r7, r5, 0
- b _08074B48
- .pool
-_08074AEC:
- ldr r2, =gBattleSpritesDataPtr
- mov r10, r2
- ldr r0, [r2]
- ldr r2, [r0, 0xC]
- mov r0, r8
- lsls r4, r0, 2
- adds r0, r4, r0
- lsls r6, r0, 2
- adds r2, r6, r2
- ldr r0, [r2, 0x8]
- ldr r1, [r2, 0xC]
- ldr r2, [r2, 0x4]
- movs r3, 0x8
- bl sub_8074FE8
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r4, 0
- cmp r5, 0
- bne _08074B16
- movs r5, 0x1
-_08074B16:
- mov r1, r10
- ldr r0, [r1]
- ldr r0, [r0, 0xC]
- adds r4, r6, r0
- ldr r6, [r4, 0xC]
- adds r0, r6, 0
- adds r1, r5, 0
- bl __divsi3
- cmp r0, 0
- bge _08074B2E
- negs r0, r0
-_08074B2E:
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, [r4, 0x4]
- ldr r1, [r4, 0x8]
- adds r3, r4, 0
- adds r3, 0x10
- movs r2, 0x8
- str r2, [sp]
- str r5, [sp, 0x4]
- adds r2, r6, 0
- bl sub_8074DB8
- adds r4, r0, 0
-_08074B48:
- mov r2, r9
- cmp r2, 0x1
- beq _08074B64
- cmp r2, 0
- bne _08074B6C
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, r7, r0
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08074B6C
-_08074B64:
- mov r0, r8
- mov r1, r9
- bl sub_8074B9C
-_08074B6C:
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- bne _08074B86
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0xC]
- mov r2, r8
- adds r0, r7, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- str r1, [r0, 0x10]
-_08074B86:
- adds r0, r4, 0
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8074AA0
-
- thumb_func_start sub_8074B9C
-sub_8074B9C: @ 8074B9C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- beq _08074BB8
- cmp r1, 0x1
- beq _08074CA0
- b _08074D9E
-_08074BB8:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- lsls r5, r6, 2
- adds r3, r5, r6
- lsls r3, 2
- adds r3, r0
- ldr r0, [r3, 0x4]
- ldr r1, [r3, 0x8]
- ldr r2, [r3, 0xC]
- adds r3, 0x10
- add r4, sp, 0x8
- str r4, [sp]
- movs r4, 0x6
- str r4, [sp, 0x4]
- bl sub_8074E8C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- mov r9, r1
- adds r7, r5, 0
- cmp r0, 0x18
- bhi _08074BF4
- movs r2, 0x38
- mov r9, r2
- cmp r0, 0x9
- bls _08074BF4
- movs r4, 0x2F
- mov r9, r4
-_08074BF4:
- movs r5, 0
- ldr r0, =gSprites
- mov r8, r0
-_08074BFA:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0xC]
- adds r0, r7, r6
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldrh r0, [r0, 0x38]
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r5, 0x1
- bhi _08074C5C
- mov r0, r9
- bl sub_80728A4
- mov r1, sp
- adds r1, r5
- adds r1, 0x8
- ldrb r1, [r1]
- lsls r1, 5
- adds r0, r1
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- add r1, r8
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r2, r5, 0x2
- adds r1, r2
- lsls r1, 5
- ldr r2, =0x06010000
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
- b _08074C8A
- .pool
-_08074C5C:
- mov r0, r9
- bl sub_80728A4
- mov r1, sp
- adds r1, r5
- adds r1, 0x8
- ldrb r1, [r1]
- lsls r1, 5
- adds r0, r1
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- add r1, r8
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r1, r5, r1
- lsls r1, 5
- ldr r4, =0x06010040
- adds r1, r4
- ldr r2, =0x04000008
- bl CpuSet
-_08074C8A:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _08074BFA
- b _08074D9E
- .pool
-_08074CA0:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- lsls r5, r6, 2
- adds r3, r5, r6
- lsls r3, 2
- adds r3, r0
- ldr r0, [r3, 0x4]
- ldr r1, [r3, 0x8]
- ldr r2, [r3, 0xC]
- adds r3, 0x10
- add r4, sp, 0x8
- str r4, [sp]
- movs r4, 0x8
- str r4, [sp, 0x4]
- bl sub_8074E8C
- ldr r1, =gBattlePartyID
- lsls r0, r6, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x38
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- adds r7, r5, 0
- cmp r0, 0x64
- bne _08074CF8
- movs r5, 0
- movs r1, 0
-_08074CE6:
- mov r0, sp
- adds r0, r5
- adds r0, 0x8
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x7
- bls _08074CE6
-_08074CF8:
- movs r5, 0
- ldr r0, =gSprites
- mov r8, r0
- adds r0, r7, r6
- lsls r4, r0, 2
-_08074D02:
- cmp r5, 0x3
- bhi _08074D5C
- movs r0, 0xC
- bl sub_80728A4
- mov r1, sp
- adds r1, r5
- adds r1, 0x8
- ldrb r1, [r1]
- lsls r1, 5
- adds r0, r1
- ldr r1, =gBattleSpritesDataPtr
- ldr r1, [r1]
- ldr r1, [r1, 0xC]
- adds r1, r4, r1
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- add r1, r8
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r2, r5, 0
- adds r2, 0x24
- adds r1, r2
- lsls r1, 5
- ldr r2, =0x06010000
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
- b _08074D94
- .pool
-_08074D5C:
- movs r0, 0xC
- bl sub_80728A4
- mov r1, sp
- adds r1, r5
- adds r1, 0x8
- ldrb r1, [r1]
- lsls r1, 5
- adds r0, r1
- ldr r1, =gBattleSpritesDataPtr
- ldr r1, [r1]
- ldr r1, [r1, 0xC]
- adds r1, r4, r1
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- add r1, r8
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r1, r5, r1
- lsls r1, 5
- ldr r2, =0x06010b80
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
-_08074D94:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x7
- bls _08074D02
-_08074D9E:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8074B9C
-
- thumb_func_start sub_8074DB8
-sub_8074DB8: @ 8074DB8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r4, r1, 0
- mov r8, r2
- adds r5, r3, 0
- ldr r1, [sp, 0x18]
- ldr r0, [sp, 0x1C]
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 27
- lsrs r2, r1, 24
- ldr r1, [r5]
- ldr r0, =0xffff8000
- cmp r1, r0
- bne _08074DEA
- cmp r7, r2
- bge _08074DE8
- lsls r0, r4, 8
- str r0, [r5]
- b _08074DEA
- .pool
-_08074DE8:
- str r4, [r5]
-_08074DEA:
- mov r0, r8
- subs r4, r0
- cmp r4, 0
- bge _08074DF6
- movs r4, 0
- b _08074DFC
-_08074DF6:
- cmp r4, r7
- ble _08074DFC
- adds r4, r7, 0
-_08074DFC:
- cmp r7, r2
- bge _08074E18
- ldr r0, [r5]
- asrs r1, r0, 8
- adds r6, r0, 0
- cmp r4, r1
- bne _08074E24
- movs r0, 0xFF
- ands r0, r6
- cmp r0, 0
- bne _08074E24
- movs r0, 0x1
- negs r0, r0
- b _08074E80
-_08074E18:
- ldr r6, [r5]
- cmp r4, r6
- bne _08074E24
- movs r0, 0x1
- negs r0, r0
- b _08074E80
-_08074E24:
- cmp r7, r2
- bge _08074E5E
- lsls r0, r7, 8
- adds r1, r2, 0
- bl __divsi3
- mov r1, r8
- cmp r1, 0
- bge _08074E42
- adds r0, r6, r0
- str r0, [r5]
- asrs r2, r0, 8
- cmp r2, r4
- blt _08074E7E
- b _08074E56
-_08074E42:
- subs r0, r6, r0
- str r0, [r5]
- asrs r2, r0, 8
- movs r1, 0xFF
- ands r0, r1
- cmp r0, 0
- ble _08074E52
- adds r2, 0x1
-_08074E52:
- cmp r2, r4
- bgt _08074E7E
-_08074E56:
- lsls r0, r4, 8
- str r0, [r5]
- adds r2, r4, 0
- b _08074E7E
-_08074E5E:
- mov r0, r8
- cmp r0, 0
- bge _08074E70
- ldr r0, [r5]
- adds r0, r3
- str r0, [r5]
- cmp r0, r4
- ble _08074E7C
- b _08074E7A
-_08074E70:
- ldr r0, [r5]
- subs r0, r3
- str r0, [r5]
- cmp r0, r4
- bge _08074E7C
-_08074E7A:
- str r4, [r5]
-_08074E7C:
- ldr r2, [r5]
-_08074E7E:
- adds r0, r2, 0
-_08074E80:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8074DB8
-
- thumb_func_start sub_8074E8C
-sub_8074E8C: @ 8074E8C
- push {r4-r7,lr}
- adds r4, r0, 0
- mov r12, r3
- ldr r7, [sp, 0x14]
- ldr r0, [sp, 0x18]
- lsls r0, 24
- lsrs r6, r0, 24
- subs r5, r1, r2
- cmp r5, 0
- bge _08074EA4
- movs r5, 0
- b _08074EAA
-_08074EA4:
- cmp r5, r4
- ble _08074EAA
- adds r5, r4, 0
-_08074EAA:
- lsls r0, r6, 27
- lsrs r3, r0, 24
- movs r1, 0
- cmp r1, r6
- bcs _08074EC4
- movs r2, 0
-_08074EB6:
- adds r0, r7, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r6
- bcc _08074EB6
-_08074EC4:
- cmp r4, r3
- bge _08074ED8
- mov r1, r12
- ldr r0, [r1]
- muls r0, r3
- adds r1, r4, 0
- bl __divsi3
- asrs r0, 8
- b _08074EE4
-_08074ED8:
- mov r1, r12
- ldr r0, [r1]
- muls r0, r3
- adds r1, r4, 0
- bl __divsi3
-_08074EE4:
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, r2, 0
- cmp r3, 0
- bne _08074EFA
- cmp r5, 0
- ble _08074EFA
- movs r0, 0x1
- strb r0, [r7]
- movs r3, 0x1
- b _08074F1E
-_08074EFA:
- movs r1, 0
- movs r4, 0x8
-_08074EFE:
- cmp r1, r6
- bcs _08074F1E
- cmp r2, 0x7
- bls _08074F1A
- adds r0, r7, r1
- strb r4, [r0]
- adds r0, r2, 0
- subs r0, 0x8
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- b _08074EFE
-_08074F1A:
- adds r0, r7, r1
- strb r2, [r0]
-_08074F1E:
- adds r0, r3, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8074E8C
-
- thumb_func_start sub_8074F28
-sub_8074F28: @ 8074F28
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r5, r0, 0
- adds r6, r1, 0
- adds r4, r2, 0
- mov r8, r3
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- ldr r2, [r5, 0x8]
- movs r3, 0x6
- str r3, [sp]
- movs r3, 0x1
- str r3, [sp, 0x4]
- adds r3, r6, 0
- bl sub_8074DB8
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_8074F88
- ldr r0, [r5]
- cmp r0, 0x2F
- bgt _08074F68
- ldr r0, [r6]
- lsls r0, 8
- lsrs r1, r0, 16
- b _08074F6A
-_08074F68:
- ldrh r1, [r6]
-_08074F6A:
- movs r2, 0
- ldrsh r0, [r5, r2]
- lsls r1, 16
- asrs r1, 16
- mov r2, r8
- bl sub_8072304
- lsls r0, r7, 16
- asrs r0, 16
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8074F28
-
- thumb_func_start sub_8074F88
-sub_8074F88: @ 8074F88
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x1C
- adds r5, r0, 0
- adds r3, r1, 0
- mov r8, r2
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- ldr r2, [r5, 0x8]
- add r4, sp, 0x8
- str r4, [sp]
- movs r4, 0x6
- str r4, [sp, 0x4]
- bl sub_8074E8C
- movs r3, 0
- add r7, sp, 0x10
- mov r12, r7
- ldrb r0, [r5, 0xC]
- lsls r6, r0, 27
- ldr r4, [r5, 0x10]
-_08074FB4:
- lsls r2, r3, 1
- add r2, r12
- lsrs r1, r6, 15
- mov r0, sp
- adds r0, r3
- adds r0, 0x8
- ldrb r0, [r0]
- adds r0, r4, r0
- orrs r1, r0
- strh r1, [r2]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x5
- bls _08074FB4
- adds r0, r7, 0
- mov r1, r8
- movs r2, 0x6
- bl CpuSet
- add sp, 0x1C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8074F88
-
- thumb_func_start sub_8074FE8
-sub_8074FE8: @ 8074FE8
- push {r4-r7,lr}
- adds r6, r2, 0
- lsls r3, 27
- lsrs r7, r3, 24
- subs r5, r0, r1
- cmp r5, 0
- bge _08074FFA
- movs r5, 0
- b _08075000
-_08074FFA:
- cmp r5, r6
- ble _08075000
- adds r5, r6, 0
-_08075000:
- muls r0, r7
- adds r1, r6, 0
- bl __divsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- muls r0, r7
- adds r1, r6, 0
- bl __divsi3
- lsls r4, 24
- asrs r4, 24
- lsls r0, 24
- asrs r0, 24
- subs r0, r4, r0
- cmp r0, 0
- bge _08075028
- negs r0, r0
-_08075028:
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8074FE8
-
- thumb_func_start GetScaledHPFraction
-GetScaledHPFraction: @ 8075034
- push {r4,lr}
- lsls r2, 24
- lsrs r2, 24
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- muls r0, r2
- lsls r1, 16
- asrs r1, 16
- bl __divsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08075058
- cmp r4, 0
- ble _08075058
- movs r0, 0x1
-_08075058:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetScaledHPFraction
-
- thumb_func_start sub_8075060
-sub_8075060: @ 8075060
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- cmp r0, r1
- bne _08075072
- movs r0, 0x4
- b _0807508E
-_08075072:
- movs r2, 0x30
- bl GetScaledHPFraction
- lsls r0, 24
- lsrs r1, r0, 24
- movs r0, 0x3
- cmp r1, 0x18
- bhi _0807508E
- movs r0, 0x2
- cmp r1, 0x9
- bhi _0807508E
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
-_0807508E:
- pop {r1}
- bx r1
- thumb_func_end sub_8075060
-
- thumb_func_start write_to_rbox
-write_to_rbox: @ 8075094
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- mov r10, r0
- mov r8, r1
- mov r9, r2
- adds r5, r3, 0
- ldr r7, [sp, 0x40]
- ldr r0, =gUnknown_0832C3F8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- add r0, sp, 0x18
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r6, r4, 24
- lsrs r6, 24
- lsls r1, r5, 4
- orrs r1, r5
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl FillWindowPixelBuffer
- add r0, sp, 0x14
- movs r2, 0
- strb r5, [r0]
- adds r1, r0, 0
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r0, 0x3
- strb r0, [r1, 0x2]
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- str r2, [sp]
- str r2, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0xC]
- mov r0, r10
- str r0, [sp, 0x10]
- adds r0, r6, 0
- movs r1, 0
- mov r2, r8
- mov r3, r9
- bl AddTextPrinterParametrized2
- str r4, [r7]
- adds r0, r6, 0
- movs r1, 0x7
- bl GetWindowAttribute
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end write_to_rbox
-
- thumb_func_start sub_807512C
-sub_807512C: @ 807512C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl RemoveWindow
- pop {r0}
- bx r0
- thumb_func_end sub_807512C
-
- thumb_func_start sub_807513C
-sub_807513C: @ 807513C
- push {lr}
- sub sp, 0x4
- adds r3, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r1, r0, 8
- adds r0, r1
- lsls r1, r0, 16
- adds r0, r1
- str r0, [sp]
- lsls r2, 3
- ldr r0, =0x001fffff
- ands r2, r0
- movs r0, 0xA0
- lsls r0, 19
- orrs r2, r0
- mov r0, sp
- adds r1, r3, 0
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807513C
-
- thumb_func_start sub_8075170
-sub_8075170: @ 8075170
- push {lr}
- adds r3, r0, 0
- adds r0, r1, 0
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- lsls r2, 3
- ldr r1, =0x001fffff
- ands r2, r1
- movs r1, 0x80
- lsls r1, 19
- orrs r2, r1
- adds r1, r3, 0
- bl CpuSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8075170
-
- thumb_func_start sub_8075198
-sub_8075198: @ 8075198
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- movs r1, 0x80
- lsls r1, 1
- adds r0, r5, r1
- adds r1, r6, r1
- lsls r2, r4, 3
- ldr r3, =0x001fffff
- ands r2, r3
- movs r3, 0x80
- lsls r3, 19
- orrs r2, r3
- bl CpuSet
- cmp r4, 0
- ble _080751D4
-_080751BC:
- adds r0, r5, 0
- adds r0, 0x14
- adds r1, r6, 0
- adds r1, 0x14
- ldr r2, =0x04000003
- bl CpuSet
- adds r6, 0x20
- adds r5, 0x20
- subs r4, 0x1
- cmp r4, 0
- bne _080751BC
-_080751D4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8075198
-
- thumb_func_start sub_80751E4
-sub_80751E4: @ 80751E4
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- lsls r4, r2, 3
- ldr r0, =0x001fffff
- ands r4, r0
- movs r0, 0x80
- lsls r0, 19
- orrs r4, r0
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl CpuSet
- movs r0, 0x80
- lsls r0, 1
- adds r5, r0
- adds r6, r0
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl CpuSet
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80751E4
-
- .align 2, 0 @ Don't pad with nop.