summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_frontier_1.s13351
-rw-r--r--asm/battle_frontier_2.s140
-rw-r--r--asm/battle_pyramid_bag.s (renamed from asm/battle_pyramid.s)0
-rw-r--r--asm/battle_tent.s202
-rw-r--r--asm/battle_tower.s413
-rw-r--r--asm/easy_chat.s4
-rw-r--r--asm/macros/battle_script.inc300
-rw-r--r--asm/pokemon_storage_system.s4
-rw-r--r--asm/pokenav.s8
-rw-r--r--asm/rom_8011DC0.s4
-rw-r--r--asm/trade.s4
11 files changed, 319 insertions, 14111 deletions
diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s
index e353cb475..7ebc2f256 100644
--- a/asm/battle_frontier_1.s
+++ b/asm/battle_frontier_1.s
@@ -5,13358 +5,7 @@
.text
- thumb_func_start sub_818E9AC
-sub_818E9AC: @ 818E9AC
- push {lr}
- ldr r1, =gUnknown_0860D090
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E9AC
-
- thumb_func_start sub_818E9CC
-sub_818E9CC: @ 818E9CC
- push {r4-r7,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r5, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, [r4]
- ldr r2, =0x00000ca8
- adds r0, r2
- movs r6, 0
- strb r6, [r0]
- ldr r1, [r4]
- adds r2, 0xA
- adds r0, r1, r2
- strh r6, [r0]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r4]
- ldr r2, =0x00000ca9
- adds r1, r2
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r4, [r4]
- ldr r0, =0x00000cdc
- adds r3, r4, r0
- ldr r2, =gUnknown_0860D0EC
- lsls r1, r5, 2
- lsls r0, r7, 3
- adds r1, r0
- adds r1, r2
- ldr r0, [r3]
- ldr r1, [r1]
- ands r0, r1
- cmp r0, 0
- bne _0818EA3E
- lsls r0, r5, 1
- lsls r1, r7, 2
- adds r0, r1
- ldr r2, =0x00000d0c
- adds r1, r4, r2
- adds r1, r0
- strh r6, [r1]
-_0818EA3E:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- movs r3, 0x1
- negs r3, r3
- movs r0, 0
- bl saved_warp2_set
- ldr r0, =gTrainerBattleOpponent_A
- strh r6, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E9CC
-
- thumb_func_start sub_818EA84
-sub_818EA84: @ 818EA84
- push {r4-r6,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r5, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x9
- bls _0818EAA8
- b _0818ED10
-_0818EAA8:
- lsls r0, 2
- ldr r1, =_0818EAC8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0818EAC8:
- .4byte _0818EAF0
- .4byte _0818EB14
- .4byte _0818EB48
- .4byte _0818EB64
- .4byte _0818EB80
- .4byte _0818EB98
- .4byte _0818EBB4
- .4byte _0818EC40
- .4byte _0818ECD0
- .4byte _0818ECF4
-_0818EAF0:
- ldr r3, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r5, 1
- lsls r2, r6, 2
- adds r1, r2
- ldr r2, =0x00000d0c
- adds r0, r2
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3]
- b _0818ED10
- .pool
-_0818EB14:
- ldr r4, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r3, =0x00000cdc
- adds r2, r3
- ldr r3, =gUnknown_0860D0EC
- lsls r0, r5, 2
- lsls r1, r6, 3
- adds r0, r1
- adds r0, r3
- ldr r1, [r2]
- ldr r0, [r0]
- ands r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- strh r0, [r4]
- b _0818ED10
- .pool
-_0818EB48:
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000d08
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 31
- b _0818ECBE
- .pool
-_0818EB64:
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r3, =0x00000d08
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 30
- b _0818ECBE
- .pool
-_0818EB80:
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000d08
- adds r0, r2
- b _0818ECBA
- .pool
-_0818EB98:
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r3, =0x00000d08
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 28
- b _0818ECBE
- .pool
-_0818EBB4:
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _0818EC04
- cmp r5, 0
- beq _0818EBE8
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000d08
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 26
- b _0818ECBE
- .pool
-_0818EBE8:
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r3, =0x00000d08
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 27
- b _0818ECBE
- .pool
-_0818EC04:
- cmp r5, 0
- beq _0818EC24
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000d08
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 30
- b _0818ECBE
- .pool
-_0818EC24:
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r3, =0x00000d08
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 31
- b _0818ECBE
- .pool
-_0818EC40:
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _0818EC90
- cmp r5, 0
- beq _0818EC74
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000d08
- adds r0, r2
- ldrb r0, [r0]
- lsrs r0, 7
- strh r0, [r1]
- b _0818ED10
- .pool
-_0818EC74:
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r3, =0x00000d08
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 25
- b _0818ECBE
- .pool
-_0818EC90:
- cmp r5, 0
- beq _0818ECB0
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000d08
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 28
- b _0818ECBE
- .pool
-_0818ECB0:
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r3, =0x00000d08
- adds r0, r3
-_0818ECBA:
- ldrb r0, [r0]
- lsls r0, 29
-_0818ECBE:
- lsrs r0, 31
- strh r0, [r1]
- b _0818ED10
- .pool
-_0818ECD0:
- bl sub_81B8558
- ldr r2, =gUnknown_0203CEF8
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r1
- ldrh r1, [r0]
- strb r1, [r2]
- ldrh r0, [r0]
- lsrs r0, 8
- strb r0, [r2, 0x1]
- b _0818ED10
- .pool
-_0818ECF4:
- ldr r2, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r3, =0x00000d0a
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, 1
- adds r3, 0x1
- adds r1, r3
- ldr r3, =0x0000fffd
- adds r0, r3
- ldrb r1, [r1]
- adds r0, r1
- strh r0, [r2]
-_0818ED10:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818EA84
-
- thumb_func_start sub_818ED28
-sub_818ED28: @ 818ED28
- push {r4,r5,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r4, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x8
- bls _0818ED4C
- b _0818F01E
-_0818ED4C:
- lsls r0, 2
- ldr r1, =_0818ED6C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0818ED6C:
- .4byte _0818ED90
- .4byte _0818EDB4
- .4byte _0818EE10
- .4byte _0818EE34
- .4byte _0818EE5C
- .4byte _0818EE78
- .4byte _0818EEA0
- .4byte _0818EF50
- .4byte _0818F008
-_0818ED90:
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- lsls r0, r4, 1
- lsls r1, r5, 2
- adds r0, r1
- ldr r1, =0x00000d0c
- adds r2, r1
- adds r2, r0
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- strh r0, [r2]
- b _0818F01E
- .pool
-_0818EDB4:
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- cmp r0, 0
- beq _0818EDE8
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r0, =0x00000cdc
- adds r2, r0
- ldr r3, =gUnknown_0860D0EC
- lsls r1, r4, 2
- lsls r0, r5, 3
- adds r1, r0
- adds r1, r3
- ldr r0, [r2]
- ldr r1, [r1]
- orrs r0, r1
- str r0, [r2]
- b _0818F01E
- .pool
-_0818EDE8:
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r1, =0x00000cdc
- adds r2, r1
- ldr r3, =gUnknown_0860D0FC
- lsls r1, r4, 2
- lsls r0, r5, 3
- adds r1, r0
- adds r1, r3
- ldr r0, [r2]
- ldr r1, [r1]
- ands r0, r1
- str r0, [r2]
- b _0818F01E
- .pool
-_0818EE10:
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r1, =0x00000d08
- adds r2, r1
- movs r1, 0x1
- ands r1, r0
- ldrb r3, [r2]
- movs r0, 0x2
- negs r0, r0
- b _0818EF74
- .pool
-_0818EE34:
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r2, =0x00000d08
- adds r3, r2
- movs r1, 0x1
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3]
- movs r0, 0x3
- negs r0, r0
- b _0818EFF4
- .pool
-_0818EE5C:
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r1, =0x00000d08
- adds r3, r1
- b _0818EFE8
- .pool
-_0818EE78:
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r2, =0x00000d08
- adds r3, r2
- movs r1, 0x1
- ands r1, r0
- lsls r1, 3
- ldrb r2, [r3]
- movs r0, 0x9
- negs r0, r0
- b _0818EFF4
- .pool
-_0818EEA0:
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1
- bne _0818EF00
- cmp r4, 0
- beq _0818EEDC
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r2, =0x00000d08
- adds r3, r2
- ands r1, r0
- lsls r1, 5
- ldrb r2, [r3]
- movs r0, 0x21
- negs r0, r0
- b _0818EFF4
- .pool
-_0818EEDC:
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r2, =0x00000d08
- adds r3, r2
- ands r1, r0
- lsls r1, 4
- ldrb r2, [r3]
- movs r0, 0x11
- negs r0, r0
- b _0818EFF4
- .pool
-_0818EF00:
- cmp r4, 0
- beq _0818EF2C
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r1, =0x00000d08
- adds r3, r1
- movs r1, 0x1
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3]
- movs r0, 0x3
- negs r0, r0
- b _0818EFF4
- .pool
-_0818EF2C:
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r1, =0x00000d08
- adds r2, r1
- movs r1, 0x1
- ands r1, r0
- ldrb r3, [r2]
- movs r0, 0x2
- negs r0, r0
- b _0818EF74
- .pool
-_0818EF50:
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1
- bne _0818EFB0
- cmp r4, 0
- beq _0818EF8C
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrb r1, [r0]
- ldr r0, =0x00000d08
- adds r2, r0
- lsls r1, 7
- ldrb r3, [r2]
- movs r0, 0x7F
-_0818EF74:
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- b _0818F01E
- .pool
-_0818EF8C:
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r2, =0x00000d08
- adds r3, r2
- ands r1, r0
- lsls r1, 6
- ldrb r2, [r3]
- movs r0, 0x41
- negs r0, r0
- b _0818EFF4
- .pool
-_0818EFB0:
- cmp r4, 0
- beq _0818EFDC
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r1, =0x00000d08
- adds r3, r1
- movs r1, 0x1
- ands r1, r0
- lsls r1, 3
- ldrb r2, [r3]
- movs r0, 0x9
- negs r0, r0
- b _0818EFF4
- .pool
-_0818EFDC:
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r2, =0x00000d08
- adds r3, r2
-_0818EFE8:
- movs r1, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
-_0818EFF4:
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _0818F01E
- .pool
-_0818F008:
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r0, =gUnknown_0203CEF8
- ldrb r1, [r0]
- ldrb r0, [r0, 0x1]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0xCB
- lsls r0, 4
- adds r2, r0
- strh r1, [r2]
-_0818F01E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818ED28
-
- thumb_func_start sub_818F02C
-sub_818F02C: @ 818F02C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x3C
- movs r0, 0
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- str r0, [sp, 0x10]
- movs r0, 0x20
- bl AllocZeroed
- str r0, [sp, 0x18]
- movs r0, 0x18
- bl AllocZeroed
- str r0, [sp, 0x1C]
- ldr r4, =gSaveBlock2Ptr
- ldr r1, [r4]
- ldr r2, =0x00000ca9
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- adds r0, 0x1
- ldr r3, =0x00000d0a
- adds r1, r3
- strb r0, [r1]
- ldr r0, =0x000040ce
- bl VarGet
- ldr r1, [r4]
- adds r0, 0x1
- ldr r5, =0x00000d0b
- adds r1, r5
- strb r0, [r1]
- ldr r2, [r4]
- ldr r7, =0x00000d24
- adds r3, r2, r7
- ldrh r0, [r3]
- ldr r5, =0x000003ff
- adds r1, r5, 0
- orrs r0, r1
- strh r0, [r3]
- ldr r3, =0x00000d25
- adds r2, r3
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r1, [r4]
- adds r1, r3
- ldrb r2, [r1]
- movs r0, 0x19
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r4]
- adds r1, r3
- ldrb r2, [r1]
- movs r0, 0x1F
- ands r0, r2
- strb r0, [r1]
- movs r7, 0
- mov r10, r7
- mov r8, r4
- ldr r0, =gBattleScripting + 0x14
- mov r9, r0
- movs r4, 0
-_0818F0BA:
- mov r1, r8
- ldr r0, [r1]
- ldr r2, =0x00000caa
- adds r0, r2
- adds r0, r4
- ldrh r0, [r0]
- movs r3, 0x64
- muls r0, r3
- add r0, r9
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- mov r5, r8
- ldr r1, [r5]
- ldr r7, =0x00000d64
- adds r1, r7
- adds r1, r4
- strh r0, [r1]
- movs r5, 0
- mov r0, r10
- lsls r7, r0, 4
- adds r6, r7, 0
-_0818F0E8:
- mov r1, r8
- ldr r0, [r1]
- ldr r2, =0x00000caa
- adds r0, r2
- adds r0, r4
- ldrh r0, [r0]
- movs r3, 0x64
- muls r0, r3
- add r0, r9
- adds r1, r5, 0
- adds r1, 0xD
- movs r2, 0
- bl GetMonData
- mov r2, r8
- ldr r1, [r2]
- ldr r3, =0x00000efc
- adds r1, r3
- adds r1, r6
- strh r0, [r1]
- adds r6, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _0818F0E8
- movs r5, 0
- ldr r6, =gSaveBlock2Ptr
-_0818F11C:
- ldr r0, [r6]
- ldr r1, =0x00000caa
- adds r0, r1
- adds r0, r4
- ldrh r0, [r0]
- movs r2, 0x64
- muls r0, r2
- add r0, r9
- adds r1, r5, 0
- adds r1, 0x1A
- movs r2, 0
- bl GetMonData
- ldr r1, [r6]
- adds r2, r5, r7
- ldr r3, =0x00000f04
- adds r1, r3
- adds r1, r2
- strb r0, [r1]
- adds r5, 0x1
- cmp r5, 0x5
- ble _0818F11C
- mov r5, r8
- ldr r0, [r5]
- ldr r1, =0x00000caa
- adds r0, r1
- adds r0, r4
- ldrh r0, [r0]
- movs r2, 0x64
- muls r0, r2
- add r0, r9
- bl GetNature
- ldr r1, [r5]
- adds r1, r7
- ldr r3, =0x00000f0a
- adds r1, r3
- strb r0, [r1]
- adds r4, 0x2
- movs r5, 0x1
- add r10, r5
- mov r7, r10
- cmp r7, 0x2
- ble _0818F0BA
- mov r10, r5
- movs r0, 0x4
- str r0, [sp, 0x34]
- movs r1, 0x6
- str r1, [sp, 0x38]
-_0818F17E:
- mov r2, r10
- cmp r2, 0x5
- ble _0818F22C
-_0818F184:
- bl sub_81A39C4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_8162548
- lsls r0, 16
- lsrs r4, r0, 16
- movs r5, 0x1
- cmp r5, r10
- bge _0818F1CA
- ldr r3, =gSaveBlock2Ptr
- ldr r0, [r3]
- ldr r7, =0x00000d28
- adds r0, r7
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- adds r2, r3, 0
- cmp r0, r4
- beq _0818F1CA
- ldr r3, =0x00000d24
-_0818F1B2:
- adds r5, 0x1
- cmp r5, r10
- bge _0818F1CA
- ldr r0, [r2]
- lsls r1, r5, 2
- adds r0, r1
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- cmp r0, r4
- bne _0818F1B2
-_0818F1CA:
- cmp r5, r10
- bne _0818F184
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r1, [sp, 0x34]
- adds r3, r1
- ldr r2, =0x00000d24
- adds r3, r2
- ldr r5, =0x000003ff
- adds r0, r5, 0
- adds r2, r4, 0
- ands r2, r0
- ldrh r0, [r3]
- ldr r7, =0xfffffc00
- adds r1, r7, 0
- b _0818F292
- .pool
-_0818F22C:
- bl sub_81A39C4
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_8162548
- lsls r0, 16
- lsrs r4, r0, 16
- movs r5, 0x1
- cmp r5, r10
- bge _0818F274
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, =0x00000d28
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- adds r2, r1, 0
- cmp r0, r4
- beq _0818F274
- ldr r3, =0x00000d24
-_0818F25C:
- adds r5, 0x1
- cmp r5, r10
- bge _0818F274
- ldr r0, [r2]
- lsls r1, r5, 2
- adds r0, r1
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- cmp r0, r4
- bne _0818F25C
-_0818F274:
- cmp r5, r10
- bne _0818F22C
- ldr r5, =gSaveBlock2Ptr
- ldr r3, [r5]
- ldr r7, [sp, 0x34]
- adds r3, r7
- ldr r0, =0x00000d24
- adds r3, r0
- ldr r1, =0x000003ff
- adds r0, r1, 0
- adds r2, r4, 0
- ands r2, r0
- ldrh r0, [r3]
- ldr r5, =0xfffffc00
- adds r1, r5, 0
-_0818F292:
- ands r0, r1
- orrs r0, r2
- strh r0, [r3]
- movs r5, 0
- lsls r4, 16
- str r4, [sp, 0x2C]
- ldr r7, [sp, 0x38]
- str r7, [sp, 0x20]
-_0818F2A2:
- lsls r0, r5, 1
- mov r9, r0
- adds r1, r5, 0x1
- str r1, [sp, 0x24]
- lsls r2, r5, 2
- str r2, [sp, 0x28]
-_0818F2AE:
- ldr r3, [sp, 0x2C]
- lsrs r0, r3, 16
- bl sub_8163524
- lsls r0, 16
- lsrs r6, r0, 16
- movs r7, 0
- cmp r7, r5
- bge _0818F300
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, [sp, 0x8]
- mov r8, r1
- ldr r2, [sp, 0xC]
- mov r12, r2
- ldr r3, =0x00000d64
- adds r0, r3
- ldr r1, [sp, 0x20]
- adds r4, r1, r0
-_0818F2D4:
- ldrh r3, [r4]
- cmp r3, r6
- beq _0818F300
- ldr r2, =gUnknown_0203BC8C
- ldr r1, [r2]
- lsls r0, r6, 4
- adds r2, r0, r1
- ldrh r0, [r2]
- cmp r8, r0
- beq _0818F300
- cmp r12, r0
- beq _0818F300
- lsls r0, r3, 4
- adds r0, r1
- ldrb r0, [r0, 0xA]
- ldrb r2, [r2, 0xA]
- cmp r0, r2
- beq _0818F300
- adds r4, 0x2
- adds r7, 0x1
- cmp r7, r5
- blt _0818F2D4
-_0818F300:
- cmp r7, r5
- bne _0818F2AE
- ldr r3, =gSaveBlock2Ptr
- ldr r0, [r3]
- ldr r1, [sp, 0x38]
- add r1, r9
- ldr r5, =0x00000d64
- adds r0, r5
- adds r0, r1
- strh r6, [r0]
- ldr r2, [sp, 0x28]
- add r2, sp
- adds r2, 0x8
- ldr r0, =gUnknown_0203BC8C
- ldr r1, [r0]
- lsls r0, r6, 4
- adds r0, r1
- ldrh r0, [r0]
- str r0, [r2]
- ldr r5, [sp, 0x24]
- cmp r5, 0x2
- ble _0818F2A2
- ldr r2, [r3]
- ldr r7, [sp, 0x34]
- adds r2, r7
- ldr r0, =0x00000d25
- adds r2, r0
- ldrb r0, [r2]
- movs r3, 0x5
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- strb r0, [r2]
- ldr r5, =gSaveBlock2Ptr
- ldr r2, [r5]
- adds r2, r7
- ldr r7, =0x00000d25
- adds r2, r7
- ldrb r0, [r2]
- subs r3, 0x14
- adds r1, r3, 0
- ands r0, r1
- strb r0, [r2]
- ldr r1, [r5]
- ldr r5, [sp, 0x34]
- adds r1, r5
- adds r1, r7
- ldrb r2, [r1]
- movs r0, 0x1F
- ands r0, r2
- strb r0, [r1]
- adds r5, 0x4
- str r5, [sp, 0x34]
- ldr r7, [sp, 0x38]
- adds r7, 0x6
- str r7, [sp, 0x38]
- movs r0, 0x1
- add r10, r0
- mov r1, r10
- cmp r1, 0xF
- bgt _0818F37C
- b _0818F17E
-_0818F37C:
- movs r7, 0
- ldr r2, [sp, 0x18]
- strh r7, [r2]
- movs r3, 0
- mov r10, r3
- ldr r6, =gBitTable
- ldr r5, =gBaseStats
-_0818F38A:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- mov r2, r10
- lsls r1, r2, 1
- ldr r3, =0x00000caa
- adds r0, r3
- adds r0, r1
- ldrh r0, [r0]
- subs r4, r0, 0x1
- movs r0, 0x64
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x3B
- movs r2, 0
- bl GetMonData
- ldr r2, [sp, 0x18]
- ldrh r1, [r2]
- adds r1, r0
- strh r1, [r2]
- adds r0, r4, 0
- movs r1, 0x3C
- movs r2, 0
- bl GetMonData
- ldr r3, [sp, 0x18]
- ldrh r1, [r3]
- adds r1, r0
- strh r1, [r3]
- adds r0, r4, 0
- movs r1, 0x3E
- movs r2, 0
- bl GetMonData
- ldr r2, [sp, 0x18]
- ldrh r1, [r2]
- adds r1, r0
- strh r1, [r2]
- adds r0, r4, 0
- movs r1, 0x3F
- movs r2, 0
- bl GetMonData
- ldr r3, [sp, 0x18]
- ldrh r1, [r3]
- adds r1, r0
- strh r1, [r3]
- adds r0, r4, 0
- movs r1, 0x3D
- movs r2, 0
- bl GetMonData
- ldr r2, [sp, 0x18]
- ldrh r1, [r2]
- adds r1, r0
- strh r1, [r2]
- adds r0, r4, 0
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- ldr r3, [sp, 0x18]
- ldrh r1, [r3]
- adds r1, r0
- strh r1, [r3]
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x6]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- orrs r7, r0
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x7]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- orrs r7, r0
- movs r0, 0x1
- add r10, r0
- mov r1, r10
- cmp r1, 0x2
- ble _0818F38A
- movs r4, 0
- movs r1, 0x1
- movs r5, 0x1F
-_0818F458:
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _0818F462
- adds r4, 0x1
-_0818F462:
- asrs r7, 1
- subs r5, 0x1
- cmp r5, 0
- bge _0818F458
- bl sub_8165C40
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
- adds r2, r0, 0
- adds r0, r4, 0
- muls r0, r2
- movs r1, 0x14
- bl __divsi3
- ldr r3, [sp, 0x18]
- ldrh r1, [r3]
- adds r1, r0
- strh r1, [r3]
- movs r5, 0x1
- mov r10, r5
- adds r6, r3, 0
- adds r6, 0x2
- movs r7, 0x2
- str r7, [sp, 0x30]
-_0818F494:
- movs r7, 0
- strh r7, [r6]
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- mov r2, r10
- lsls r1, r2, 2
- adds r0, r1
- ldr r3, =0x00000d24
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- bl sub_8190168
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- ldr r0, [sp, 0x30]
- mov r9, r0
-_0818F4BC:
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- mov r4, r9
- add r4, r10
- adds r4, r5
- lsls r4, 1
- ldr r2, =0x00000d64
- adds r0, r2
- adds r0, r4
- ldrh r1, [r0]
- ldr r3, =gUnknown_0203BC8C
- ldr r0, [r3]
- lsls r1, 4
- adds r1, r0
- ldrh r0, [r1]
- ldrb r3, [r1, 0xB]
- ldrb r1, [r1, 0xC]
- str r1, [sp]
- ldr r1, [sp, 0x1C]
- str r1, [sp, 0x4]
- ldr r1, [sp, 0x14]
- mov r2, r8
- bl sub_818F720
- ldr r2, [sp, 0x1C]
- ldr r1, [r2, 0x4]
- ldrh r0, [r6]
- adds r0, r1
- ldr r1, [r2, 0x8]
- adds r0, r1
- ldr r1, [r2, 0x10]
- adds r0, r1
- ldr r1, [r2, 0x14]
- adds r0, r1
- ldr r1, [r2, 0xC]
- adds r0, r1
- ldr r1, [r2]
- adds r0, r1
- strh r0, [r6]
- ldr r3, =gSaveBlock2Ptr
- ldr r0, [r3]
- ldr r1, =0x00000d64
- adds r0, r1
- adds r0, r4
- ldrh r0, [r0]
- ldr r2, =gUnknown_0203BC8C
- ldr r1, [r2]
- lsls r0, 4
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r3, =gBaseStats
- adds r1, r3
- ldrb r0, [r1, 0x6]
- lsls r0, 2
- ldr r2, =gBitTable
- adds r0, r2
- ldr r0, [r0]
- orrs r7, r0
- ldrb r0, [r1, 0x7]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- orrs r7, r0
- adds r5, 0x1
- cmp r5, 0x2
- ble _0818F4BC
- movs r4, 0
- movs r1, 0x1
- movs r5, 0x1F
-_0818F54C:
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _0818F556
- adds r4, 0x1
-_0818F556:
- asrs r7, 1
- subs r5, 0x1
- cmp r5, 0
- bge _0818F54C
- ldr r3, [sp, 0x14]
- adds r0, r4, 0
- muls r0, r3
- movs r1, 0x14
- bl __divsi3
- ldrh r1, [r6]
- adds r1, r0
- strh r1, [r6]
- adds r6, 0x2
- ldr r5, [sp, 0x30]
- adds r5, 0x2
- str r5, [sp, 0x30]
- movs r7, 0x1
- add r10, r7
- mov r0, r10
- cmp r0, 0xF
- ble _0818F494
- movs r1, 0
- mov r10, r1
- ldr r2, =0x000003ff
- mov r8, r2
-_0818F58A:
- mov r5, r10
- adds r5, 0x1
- adds r7, r5, 0
- cmp r5, 0xF
- bgt _0818F626
- mov r3, r10
- lsls r0, r3, 1
- ldr r1, [sp, 0x18]
- adds r6, r0, r1
- lsls r0, r5, 1
- adds r4, r0, r1
-_0818F5A0:
- ldrh r1, [r6]
- ldrh r0, [r4]
- cmp r1, r0
- bcc _0818F5C2
- cmp r1, r0
- bne _0818F61E
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r0, r1, r0
- ldr r2, =0x00000d24
- adds r0, r2
- ldrh r0, [r0]
- lsls r2, r0, 22
- lsrs r0, r2, 22
- cmp r0, r8
- bne _0818F602
-_0818F5C2:
- mov r0, r10
- adds r1, r5, 0
- ldr r2, [sp, 0x18]
- bl sub_818F904
- b _0818F600
- .pool
-_0818F600:
- b _0818F61E
-_0818F602:
- mov r3, r10
- lsls r0, r3, 2
- adds r0, r1, r0
- ldr r1, =0x00000d24
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 22
- cmp r0, r2
- bls _0818F61E
- mov r0, r10
- adds r1, r5, 0
- ldr r2, [sp, 0x18]
- bl sub_818F904
-_0818F61E:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0xF
- ble _0818F5A0
-_0818F626:
- mov r10, r7
- mov r2, r10
- cmp r2, 0xE
- ble _0818F58A
- bl sub_81A3610
- lsls r0, 24
- cmp r0, 0
- beq _0818F6EE
- movs r3, 0
- mov r10, r3
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r4, =0x00000d24
- adds r1, r4
- ldrh r1, [r1]
- lsls r1, 22
- lsrs r1, 22
- ldr r3, =0x000003ff
- adds r2, r0, 0
- ldr r6, =gUnknown_0860D3F1
- cmp r1, r3
- beq _0818F674
- adds r5, r2, 0
-_0818F656:
- movs r7, 0x1
- add r10, r7
- mov r0, r10
- cmp r0, 0xF
- bgt _0818F674
- ldr r0, [r5]
- mov r7, r10
- lsls r1, r7, 2
- adds r0, r1
- adds r0, r4
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- cmp r0, r3
- bne _0818F656
-_0818F674:
- mov r1, r10
- lsls r0, r1, 1
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0818F6AC
- movs r5, 0
- ldr r2, [r2]
- ldr r3, =0x00000d24
- adds r2, r3
- ldrh r1, [r2]
- ldr r0, =0xfffffc00
- ands r0, r1
- ldr r7, =0x000003fe
- adds r1, r7, 0
- b _0818F6BE
- .pool
-_0818F6AC:
- movs r5, 0x1
- ldr r2, [r2]
- ldr r0, =0x00000d28
- adds r2, r0
- ldrh r1, [r2]
- ldr r0, =0xfffffc00
- ands r0, r1
- ldr r3, =0x000003fe
- adds r1, r3, 0
-_0818F6BE:
- orrs r0, r1
- strh r0, [r2]
- movs r7, 0
- mov r10, r7
- lsls r0, r5, 1
- adds r0, r5
- lsls r4, r0, 1
-_0818F6CC:
- mov r1, r10
- lsls r0, r1, 24
- lsrs r0, 24
- bl sub_81A4FF0
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- ldr r2, =0x00000d64
- adds r1, r2
- adds r1, r4
- strh r0, [r1]
- adds r4, 0x2
- movs r3, 0x1
- add r10, r3
- mov r5, r10
- cmp r5, 0x2
- ble _0818F6CC
-_0818F6EE:
- ldr r0, [sp, 0x18]
- bl Free
- ldr r0, [sp, 0x1C]
- bl Free
- add sp, 0x3C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818F02C
-
- thumb_func_start sub_818F720
-sub_818F720: @ 818F720
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- adds r7, r1, 0
- mov r9, r2
- ldr r1, [sp, 0x3C]
- ldr r2, [sp, 0x40]
- mov r8, r2
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r3, 24
- lsrs r5, r3, 24
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x18]
- movs r1, 0
- adds r4, r5, 0
- movs r3, 0x1
- movs r2, 0x5
-_0818F74C:
- adds r0, r4, 0
- ands r0, r3
- cmp r0, 0
- beq _0818F756
- adds r1, 0x1
-_0818F756:
- lsrs r4, 1
- subs r2, 0x1
- cmp r2, 0
- bge _0818F74C
- movs r0, 0xFF
- lsls r0, 1
- bl __divsi3
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r0, r6, 3
- mov r10, r0
- movs r1, 0
- mov r12, r1
- mov r1, sp
- movs r2, 0x5
-_0818F776:
- mov r0, r12
- str r0, [r1]
- adds r0, r5, 0
- ands r0, r4
- cmp r0, 0
- beq _0818F784
- str r3, [r1]
-_0818F784:
- lsls r0, r4, 25
- lsrs r4, r0, 24
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _0818F776
- ldr r0, =0x0000012f
- cmp r6, r0
- bne _0818F7A0
- movs r0, 0x1
- b _0818F7CA
- .pool
-_0818F7A0:
- mov r2, r10
- subs r0, r2, r6
- lsls r0, 2
- ldr r1, =gBaseStats
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- mov r2, r9
- adds r1, r0, r2
- ldr r0, [sp]
- cmp r0, 0
- bge _0818F7BA
- adds r0, 0x3
-_0818F7BA:
- asrs r0, 2
- adds r0, r1, r0
- muls r0, r7
- movs r1, 0x64
- bl __divsi3
- adds r0, r7
- adds r0, 0xA
-_0818F7CA:
- mov r1, r8
- str r0, [r1]
- mov r2, r10
- subs r0, r2, r6
- lsls r0, 2
- ldr r1, =gBaseStats
- adds r4, r0, r1
- ldrb r0, [r4, 0x1]
- lsls r0, 1
- mov r2, r9
- adds r1, r0, r2
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bge _0818F7E8
- adds r0, 0x3
-_0818F7E8:
- asrs r0, 2
- adds r0, r1, r0
- muls r0, r7
- movs r1, 0x64
- bl __divsi3
- adds r1, r0, 0
- adds r1, 0x5
- mov r0, r8
- str r1, [r0, 0x4]
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0x18]
- movs r2, 0x1
- bl ModifyStatByNature
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- str r0, [r1, 0x4]
- ldrb r0, [r4, 0x2]
- lsls r0, 1
- mov r2, r9
- adds r1, r0, r2
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bge _0818F820
- adds r0, 0x3
-_0818F820:
- asrs r0, 2
- adds r0, r1, r0
- muls r0, r7
- movs r1, 0x64
- bl __divsi3
- adds r1, r0, 0
- adds r1, 0x5
- mov r0, r8
- str r1, [r0, 0x8]
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0x18]
- movs r2, 0x2
- bl ModifyStatByNature
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- str r0, [r1, 0x8]
- ldrb r0, [r4, 0x3]
- lsls r0, 1
- mov r2, r9
- adds r1, r0, r2
- ldr r0, [sp, 0xC]
- cmp r0, 0
- bge _0818F858
- adds r0, 0x3
-_0818F858:
- asrs r0, 2
- adds r0, r1, r0
- muls r0, r7
- movs r1, 0x64
- bl __divsi3
- adds r1, r0, 0
- adds r1, 0x5
- mov r0, r8
- str r1, [r0, 0xC]
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0x18]
- movs r2, 0x3
- bl ModifyStatByNature
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- str r0, [r1, 0xC]
- ldrb r0, [r4, 0x4]
- lsls r0, 1
- mov r2, r9
- adds r1, r0, r2
- ldr r0, [sp, 0x10]
- cmp r0, 0
- bge _0818F890
- adds r0, 0x3
-_0818F890:
- asrs r0, 2
- adds r0, r1, r0
- muls r0, r7
- movs r1, 0x64
- bl __divsi3
- adds r1, r0, 0
- adds r1, 0x5
- mov r0, r8
- str r1, [r0, 0x10]
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0x18]
- movs r2, 0x4
- bl ModifyStatByNature
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- str r0, [r1, 0x10]
- ldrb r0, [r4, 0x5]
- lsls r0, 1
- mov r1, r9
- adds r2, r0, r1
- ldr r0, [sp, 0x14]
- cmp r0, 0
- bge _0818F8C8
- adds r0, 0x3
-_0818F8C8:
- asrs r0, 2
- adds r0, r2, r0
- muls r0, r7
- movs r1, 0x64
- bl __divsi3
- adds r1, r0, 0
- adds r1, 0x5
- mov r2, r8
- str r1, [r2, 0x14]
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0x18]
- movs r2, 0x5
- bl ModifyStatByNature
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- str r0, [r1, 0x14]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818F720
-
- thumb_func_start sub_818F904
-sub_818F904: @ 818F904
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r3, r0, 1
- mov r12, r3
- adds r4, r3, r2
- ldrh r5, [r4]
- lsls r7, r1, 1
- mov r9, r7
- add r2, r9
- ldrh r3, [r2]
- strh r3, [r4]
- strh r5, [r2]
- ldr r2, =gSaveBlock2Ptr
- ldr r5, [r2]
- lsls r6, r0, 2
- adds r6, r5, r6
- ldr r3, =0x00000d24
- adds r6, r3
- ldrh r7, [r6]
- mov r10, r7
- mov r2, r10
- lsls r2, 22
- mov r8, r2
- lsls r2, r1, 2
- adds r5, r2
- adds r5, r3
- ldrh r4, [r5]
- lsls r4, 22
- lsrs r4, 22
- ldr r3, =0xfffffc00
- adds r2, r3, 0
- mov r7, r10
- ands r2, r7
- orrs r2, r4
- strh r2, [r6]
- mov r2, r8
- lsrs r2, 22
- mov r8, r2
- ldrh r2, [r5]
- ands r3, r2
- mov r7, r8
- orrs r3, r7
- strh r3, [r5]
- ldr r2, =gSaveBlock2Ptr
- mov r8, r2
- add r12, r0
- add r9, r1
- mov r3, r9
- lsls r4, r3, 1
- mov r7, r12
- lsls r3, r7, 1
- ldr r7, =0x00000d64
- movs r6, 0x2
-_0818F974:
- mov r1, r8
- ldr r0, [r1]
- adds r0, r7
- adds r2, r0, r3
- ldrh r5, [r2]
- adds r0, r4
- ldrh r1, [r0]
- strh r1, [r2]
- strh r5, [r0]
- adds r4, 0x2
- adds r3, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _0818F974
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818F904
-
- thumb_func_start sub_818F9B0
-sub_818F9B0: @ 818F9B0
- push {lr}
- ldr r0, =gStringVar1
- ldr r2, =gRoundsStringTable
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- ldr r3, =0x00000cb2
- adds r1, r3
- ldrh r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818F9B0
-
- thumb_func_start sub_818F9E0
-sub_818F9E0: @ 818F9E0
- push {lr}
- ldr r0, =gStringVar1
- ldr r2, =gRoundsStringTable
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- ldr r3, =0x00000cb2
- adds r1, r3
- ldrh r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- ldr r0, =gStringVar2
- ldr r1, =gTrainerBattleOpponent_A
- ldrh r1, [r1]
- bl sub_8195898
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818F9E0
-
- thumb_func_start sub_818FA20
-sub_818FA20: @ 818FA20
- push {r4,r5,lr}
- ldr r1, =gUnknown_0203CD70
- movs r0, 0
- str r0, [r1]
- ldr r4, =gPlayerParty
- adds r0, r4, 0
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- ldr r5, =gUnknown_0203CD74
- str r0, [r5]
- adds r4, 0x64
- adds r0, r4, 0
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- ldr r1, [r5]
- adds r1, r0
- str r1, [r5]
- bl CalculatePlayerPartyCount
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- bl sub_8195358
- lsls r0, 16
- lsrs r0, 16
- bl sub_818FBDC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818FA20
-
- thumb_func_start sub_818FA74
-sub_818FA74: @ 818FA74
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- adds r5, r2, 0
- str r3, [sp, 0x14]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x10]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x28]
- lsls r5, 24
- lsrs r5, 24
- add r0, sp, 0xC
- movs r1, 0x1
- negs r1, r1
- strb r1, [r0]
- ldr r0, [sp, 0x28]
- bl sub_8190168
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- str r6, [sp, 0x2C]
- bl sub_8165C40
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x64
- ldr r4, [sp, 0x10]
- adds r3, r4, 0
- muls r3, r0
- str r3, [sp, 0x18]
- ldr r6, =gEnemyParty
- adds r0, r3, r6
- ldr r7, =gSaveBlock2Ptr
- ldr r4, [r7]
- lsls r5, 1
- ldr r3, [sp, 0x28]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 1
- adds r1, r5, r1
- ldr r6, =0x00000d64
- adds r4, r6
- adds r4, r1
- ldrh r3, [r4]
- ldr r7, =gUnknown_0203BC8C
- ldr r7, [r7]
- mov r8, r7
- lsls r3, 4
- add r3, r8
- ldrh r1, [r3]
- ldrb r3, [r3, 0xC]
- ldr r6, [sp, 0x2C]
- str r6, [sp]
- ldrh r4, [r4]
- lsls r4, 4
- add r4, r8
- ldrb r4, [r4, 0xB]
- str r4, [sp, 0x4]
- ldr r7, [sp, 0x14]
- str r7, [sp, 0x8]
- bl CreateMonWithEVSpreadPersonalityOTID
- add r0, sp, 0xC
- movs r1, 0x1
- negs r1, r1
- strb r1, [r0]
- movs r6, 0
- ldr r2, [sp, 0x18]
- str r2, [sp, 0x1C]
- mov r10, r5
- ldr r3, =0x00000d64
- mov r9, r3
- ldr r3, =gUnknown_0203BC8C
- mov r4, r10
- str r4, [sp, 0x20]
-_0818FB18:
- ldr r7, =gSaveBlock2Ptr
- ldr r1, [r7]
- ldr r2, [sp, 0x28]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 1
- mov r8, r0
- mov r5, r10
- add r5, r8
- add r1, r9
- adds r1, r5
- ldrh r0, [r1]
- ldr r1, [r3]
- lsls r0, 4
- adds r0, r1
- lsls r4, r6, 1
- adds r0, 0x2
- adds r0, r4
- ldrh r1, [r0]
- lsls r2, r6, 24
- lsrs r2, 24
- mov r12, r2
- ldr r7, [sp, 0x1C]
- ldr r2, =gEnemyParty
- adds r0, r7, r2
- mov r2, r12
- str r3, [sp, 0x24]
- bl SetMonMoveSlot
- ldr r7, =gSaveBlock2Ptr
- ldr r0, [r7]
- add r0, r9
- adds r0, r5
- ldrh r0, [r0]
- ldr r3, [sp, 0x24]
- ldr r1, [r3]
- lsls r0, 4
- adds r0, r1
- adds r0, 0x2
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0xDA
- bne _0818FB74
- movs r1, 0
- add r0, sp, 0xC
- strb r1, [r0]
-_0818FB74:
- adds r6, 0x1
- cmp r6, 0x3
- ble _0818FB18
- movs r0, 0x64
- ldr r1, [sp, 0x10]
- adds r4, r1, 0
- muls r4, r0
- ldr r0, =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x20
- add r2, sp, 0xC
- bl SetMonData
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, [sp, 0x20]
- add r1, r8
- ldr r2, =0x00000d64
- adds r0, r2
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, =gUnknown_0203BC8C
- ldr r1, [r1]
- lsls r0, 4
- adds r0, r1
- ldrb r2, [r0, 0xA]
- lsls r2, 1
- ldr r0, =gBattleFrontierHeldItems
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- 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_818FA74
-
- thumb_func_start sub_818FBDC
-sub_818FBDC: @ 818FBDC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- movs r6, 0
- bl ZeroEnemyPartyMons
- mov r0, r8
- bl sub_818FC78
- adds r5, r0, 0
- bl Random
- adds r4, r0, 0
- bl Random
- lsls r4, 16
- lsrs r7, r4, 16
- lsls r0, 16
- orrs r7, r0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bls _0818FC46
- movs r4, 0
-_0818FC20:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _0818FC3C
- lsls r2, r4, 24
- lsrs r2, 24
- adds r0, r6, 0
- mov r1, r8
- adds r3, r7, 0
- bl sub_818FA74
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0818FC3C:
- asrs r5, 1
- adds r4, 0x1
- cmp r4, 0x2
- ble _0818FC20
- b _0818FC6C
-_0818FC46:
- movs r4, 0x2
-_0818FC48:
- movs r0, 0x4
- ands r0, r5
- cmp r0, 0
- beq _0818FC64
- lsls r2, r4, 24
- lsrs r2, 24
- adds r0, r6, 0
- mov r1, r8
- adds r3, r7, 0
- bl sub_818FA74
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0818FC64:
- lsls r5, 1
- subs r4, 0x1
- cmp r4, 0
- bge _0818FC48
-_0818FC6C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_818FBDC
-
- thumb_func_start sub_818FC78
-sub_818FC78: @ 818FC78
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- bl Random
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0818FCA2
- adds r0, r4, 0
- movs r1, 0
- bl sub_818FCBC
- cmp r0, 0
- bne _0818FCB6
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_818FDB8
- b _0818FCB6
-_0818FCA2:
- adds r0, r5, 0
- movs r1, 0
- bl sub_818FDB8
- cmp r0, 0
- bne _0818FCB6
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_818FCBC
-_0818FCB6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_818FC78
- thumb_func_start sub_818FCBC
-sub_818FCBC: @ 818FCBC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0xC]
- movs r0, 0
- mov r9, r0
- mov r1, r8
- lsls r1, 2
- str r1, [sp, 0x18]
-_0818FCDE:
- mov r2, r9
- lsls r0, r2, 2
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0
- str r0, [r1]
- movs r7, 0
- mov r0, r9
- adds r0, 0x1
- str r0, [sp, 0x14]
- adds r5, r1, 0
- mov r1, r9
- lsls r1, 1
- str r1, [sp, 0x10]
-_0818FCFA:
- movs r6, 0
- adds r2, r7, 0x1
- mov r10, r2
-_0818FD00:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, [sp, 0x18]
- adds r0, r1, r2
- ldr r2, =0x00000d24
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- ldr r2, =0x000003fe
- cmp r0, r2
- bne _0818FD3C
- mov r1, r9
- lsls r0, r1, 24
- lsls r1, r7, 24
- lsrs r0, 24
- lsrs r1, 24
- bl sub_81A5060
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- b _0818FD60
- .pool
-_0818FD3C:
- mov r2, r8
- lsls r0, r2, 1
- add r0, r8
- lsls r0, 1
- ldr r2, [sp, 0x10]
- adds r0, r2, r0
- ldr r2, =0x00000d64
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- ldr r1, =gUnknown_0203BC8C
- ldr r1, [r1]
- lsls r0, 4
- adds r0, r1
- lsls r1, r7, 1
- adds r0, 0x2
- adds r0, r1
- ldrh r4, [r0]
-_0818FD60:
- movs r0, 0x64
- muls r0, r6
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- bl sub_818FFC0
- ldr r1, [r5]
- adds r1, r0
- str r1, [r5]
- adds r6, 0x1
- cmp r6, 0x2
- ble _0818FD00
- mov r7, r10
- cmp r7, 0x3
- ble _0818FCFA
- ldr r0, [sp, 0x14]
- mov r9, r0
- cmp r0, 0x2
- ble _0818FCDE
- mov r0, sp
- ldr r1, [sp, 0xC]
- bl sub_818FEB4
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818FCBC
-
- thumb_func_start sub_818FDB8
-sub_818FDB8: @ 818FDB8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0xC]
- movs r0, 0
- mov r9, r0
- mov r1, r8
- lsls r1, 2
- str r1, [sp, 0x18]
-_0818FDDA:
- mov r2, r9
- lsls r0, r2, 2
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0
- str r0, [r1]
- movs r7, 0
- mov r0, r9
- adds r0, 0x1
- str r0, [sp, 0x14]
- adds r5, r1, 0
- mov r1, r9
- lsls r1, 1
- str r1, [sp, 0x10]
-_0818FDF6:
- movs r6, 0
- adds r2, r7, 0x1
- mov r10, r2
-_0818FDFC:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, [sp, 0x18]
- adds r0, r1, r2
- ldr r2, =0x00000d24
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- ldr r2, =0x000003fe
- cmp r0, r2
- bne _0818FE38
- mov r1, r9
- lsls r0, r1, 24
- lsls r1, r7, 24
- lsrs r0, 24
- lsrs r1, 24
- bl sub_81A5060
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- b _0818FE5C
- .pool
-_0818FE38:
- mov r2, r8
- lsls r0, r2, 1
- add r0, r8
- lsls r0, 1
- ldr r2, [sp, 0x10]
- adds r0, r2, r0
- ldr r2, =0x00000d64
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- ldr r1, =gUnknown_0203BC8C
- ldr r1, [r1]
- lsls r0, 4
- adds r0, r1
- lsls r1, r7, 1
- adds r0, 0x2
- adds r0, r1
- ldrh r4, [r0]
-_0818FE5C:
- movs r0, 0x64
- muls r0, r6
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_818FFC0
- ldr r1, [r5]
- adds r1, r0
- str r1, [r5]
- adds r6, 0x1
- cmp r6, 0x2
- ble _0818FDFC
- mov r7, r10
- cmp r7, 0x3
- ble _0818FDF6
- ldr r0, [sp, 0x14]
- mov r9, r0
- cmp r0, 0x2
- ble _0818FDDA
- mov r0, sp
- ldr r1, [sp, 0xC]
- bl sub_818FEB4
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818FDB8
-
- thumb_func_start sub_818FEB4
-sub_818FEB4: @ 818FEB4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r10, r0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- str r0, [sp, 0xC]
- movs r3, 0x2
- add r0, sp, 0x8
-_0818FECE:
- str r3, [r0]
- subs r0, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _0818FECE
- mov r3, r10
- ldr r2, [r3]
- ldr r0, [r3, 0x4]
- cmp r2, r0
- bne _0818FF20
- ldr r0, [r3, 0x8]
- cmp r2, r0
- bne _0818FF20
- cmp r1, 0
- beq _0818FFAA
- movs r3, 0
- ldr r4, =gBitTable
-_0818FEF0:
- str r3, [sp, 0x14]
- bl Random
- movs r1, 0x3
- ands r1, r0
- ldr r3, [sp, 0x14]
- cmp r1, 0x3
- beq _0818FF16
- lsls r0, r1, 2
- adds r0, r4
- ldr r1, [r0]
- ldr r0, [sp, 0xC]
- ands r0, r1
- cmp r0, 0
- bne _0818FF16
- ldr r0, [sp, 0xC]
- orrs r0, r1
- str r0, [sp, 0xC]
- adds r3, 0x1
-_0818FF16:
- cmp r3, 0x2
- bne _0818FEF0
- b _0818FFAA
- .pool
-_0818FF20:
- movs r3, 0
- mov r9, sp
- mov r8, r10
-_0818FF26:
- adds r2, r3, 0x1
- cmp r2, 0x2
- bgt _0818FF84
- mov r6, r8
- mov r7, r9
- lsls r0, r2, 2
- mov r1, sp
- adds r5, r0, r1
- mov r1, r10
- adds r4, r0, r1
-_0818FF3A:
- ldr r0, [r6]
- ldr r1, [r4]
- cmp r0, r1
- bge _0818FF4E
- str r1, [r6]
- str r0, [r4]
- ldr r1, [r7]
- ldr r0, [r5]
- str r0, [r7]
- str r1, [r5]
-_0818FF4E:
- ldr r1, [r6]
- ldr r0, [r4]
- cmp r1, r0
- bne _0818FF7A
- str r2, [sp, 0x10]
- str r3, [sp, 0x14]
- bl Random
- movs r1, 0x1
- ands r1, r0
- ldr r2, [sp, 0x10]
- ldr r3, [sp, 0x14]
- cmp r1, 0
- beq _0818FF7A
- ldr r1, [r6]
- ldr r0, [r4]
- str r0, [r6]
- str r1, [r4]
- ldr r1, [r7]
- ldr r0, [r5]
- str r0, [r7]
- str r1, [r5]
-_0818FF7A:
- adds r5, 0x4
- adds r4, 0x4
- adds r2, 0x1
- cmp r2, 0x2
- ble _0818FF3A
-_0818FF84:
- movs r4, 0x4
- add r9, r4
- add r8, r4
- adds r3, 0x1
- cmp r3, 0x1
- ble _0818FF26
- ldr r2, =gBitTable
- mov r1, sp
- movs r3, 0x1
-_0818FF96:
- ldm r1!, {r0}
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldr r4, [sp, 0xC]
- orrs r4, r0
- str r4, [sp, 0xC]
- subs r3, 0x1
- cmp r3, 0
- bge _0818FF96
-_0818FFAA:
- ldr r0, [sp, 0xC]
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818FEB4
-
- thumb_func_start sub_818FFC0
-sub_818FFC0: @ 818FFC0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r3, r0, 0
- adds r4, r1, 0
- str r2, [sp]
- movs r6, 0
- movs r2, 0x14
- cmp r3, 0
- beq _0818FFF0
- ldr r0, =0x0000ffff
- cmp r3, r0
- beq _0818FFF0
- ldr r0, =gBattleMoves
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r3, r1, r0
- ldrb r0, [r3, 0x1]
- cmp r0, 0
- bne _0818FFFC
-_0818FFF0:
- movs r0, 0
- b _08190156
- .pool
-_0818FFFC:
- ldr r1, =gBaseStats
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x6]
- mov r10, r1
- ldrb r1, [r0, 0x7]
- mov r9, r1
- ldrb r0, [r0, 0x16]
- mov r8, r0
- ldrb r3, [r3, 0x2]
- str r3, [sp, 0x4]
- cmp r0, 0x1A
- bne _0819002C
- cmp r3, 0x4
- bne _0819002C
- ldr r0, [sp]
- cmp r0, 0x1
- bne _081900AA
- movs r2, 0x8
- b _081900A4
- .pool
-_0819002C:
- ldr r0, =gTypeEffectiveness
- adds r1, r6, r0
- ldrb r0, [r1]
- ldr r7, =gTypeEffectiveness
- cmp r0, 0xFF
- beq _081900A4
- adds r4, r1, 0
-_0819003A:
- ldrb r0, [r4]
- cmp r0, 0xFE
- beq _08190096
- ldrb r0, [r4]
- ldr r1, [sp, 0x4]
- cmp r0, r1
- bne _08190096
- ldrb r0, [r4, 0x1]
- adds r5, r6, 0x1
- cmp r0, r10
- bne _0819006C
- adds r1, r6, 0x2
- mov r0, r8
- cmp r0, 0x19
- bne _0819005E
- ldrb r0, [r4, 0x2]
- cmp r0, 0x28
- bne _0819006C
-_0819005E:
- adds r0, r1, r7
- ldrb r0, [r0]
- muls r0, r2
- movs r1, 0xA
- bl __divsi3
- adds r2, r0, 0
-_0819006C:
- adds r0, r5, r7
- ldrb r0, [r0]
- cmp r0, r9
- bne _08190096
- cmp r10, r9
- beq _08190096
- adds r1, r6, 0x2
- mov r0, r8
- cmp r0, 0x19
- bne _08190088
- adds r0, r1, r7
- ldrb r0, [r0]
- cmp r0, 0x28
- bne _08190096
-_08190088:
- adds r0, r1, r7
- ldrb r0, [r0]
- muls r0, r2
- movs r1, 0xA
- bl __divsi3
- adds r2, r0, 0
-_08190096:
- adds r4, 0x3
- adds r6, 0x3
- ldr r1, =gTypeEffectiveness
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0819003A
-_081900A4:
- ldr r0, [sp]
- cmp r0, 0x1
- beq _081900E0
-_081900AA:
- ldr r1, [sp]
- cmp r1, 0x1
- bgt _081900BC
- cmp r1, 0
- beq _081900C4
- b _08190154
- .pool
-_081900BC:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08190114
- b _08190154
-_081900C4:
- cmp r2, 0xA
- beq _08190146
- cmp r2, 0xA
- ble _08190146
- cmp r2, 0x28
- beq _0819014A
- cmp r2, 0x28
- bgt _081900DA
- cmp r2, 0x14
- beq _08190104
- b _08190146
-_081900DA:
- cmp r2, 0x50
- bne _08190146
- b _08190100
-_081900E0:
- cmp r2, 0xA
- beq _08190104
- cmp r2, 0xA
- bgt _081900F2
- cmp r2, 0
- beq _08190100
- cmp r2, 0x5
- beq _0819014A
- b _08190146
-_081900F2:
- cmp r2, 0x28
- beq _08190108
- cmp r2, 0x28
- ble _08190146
- cmp r2, 0x50
- beq _0819010E
- b _08190146
-_08190100:
- movs r2, 0x8
- b _08190154
-_08190104:
- movs r2, 0x2
- b _08190154
-_08190108:
- movs r2, 0x2
- negs r2, r2
- b _08190154
-_0819010E:
- movs r2, 0x4
- negs r2, r2
- b _08190154
-_08190114:
- cmp r2, 0xA
- beq _08190146
- cmp r2, 0xA
- bgt _08190126
- cmp r2, 0
- beq _0819013A
- cmp r2, 0x5
- beq _08190140
- b _08190146
-_08190126:
- cmp r2, 0x28
- beq _0819014E
- cmp r2, 0x28
- bgt _08190134
- cmp r2, 0x14
- beq _0819014A
- b _08190146
-_08190134:
- cmp r2, 0x50
- beq _08190152
- b _08190146
-_0819013A:
- movs r2, 0x10
- negs r2, r2
- b _08190154
-_08190140:
- movs r2, 0x8
- negs r2, r2
- b _08190154
-_08190146:
- movs r2, 0
- b _08190154
-_0819014A:
- movs r2, 0x4
- b _08190154
-_0819014E:
- movs r2, 0xC
- b _08190154
-_08190152:
- movs r2, 0x14
-_08190154:
- adds r0, r2, 0
-_08190156:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_818FFC0
-
- thumb_func_start sub_8190168
-sub_8190168: @ 8190168
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- cmp r0, 0x63
- bls _0819019A
- movs r1, 0x6
- cmp r0, 0x77
- bls _0819019A
- movs r1, 0x9
- cmp r0, 0x8B
- bls _0819019A
- movs r1, 0xC
- cmp r0, 0x9F
- bls _0819019A
- movs r1, 0xF
- cmp r0, 0xB3
- bls _0819019A
- movs r1, 0x12
- cmp r0, 0xC7
- bls _0819019A
- movs r1, 0x1F
- cmp r0, 0xDB
- bhi _0819019A
- movs r1, 0x15
-_0819019A:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8190168
-
- thumb_func_start sub_81901A0
-sub_81901A0: @ 81901A0
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r2, r1, 0
- movs r5, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r4, =0x00000d24
- adds r1, r4
- ldrh r1, [r1]
- lsls r1, 22
- lsrs r1, 22
- mov r12, r0
- ldr r6, =gUnknown_0860D10C
- cmp r1, r2
- beq _081901D8
- mov r7, r12
-_081901C0:
- adds r5, 0x1
- cmp r5, 0xF
- bgt _081901D8
- ldr r0, [r7]
- lsls r1, r5, 2
- adds r0, r1
- adds r0, r4
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- cmp r0, r2
- bne _081901C0
-_081901D8:
- cmp r3, 0
- beq _0819026C
- cmp r3, 0x3
- bne _081901FC
- lsls r0, r5, 2
- adds r1, r0, 0x3
- adds r1, r6
- ldrb r1, [r1]
- adds r4, r1, 0
- adds r4, 0x8
- b _08190206
- .pool
-_081901FC:
- lsls r0, r5, 2
- adds r1, r3, r0
- adds r1, r6
- ldrb r1, [r1]
- adds r4, r1, 0x4
-_08190206:
- adds r0, r3, r0
- adds r0, r6
- ldrb r2, [r0]
- cmp r2, r4
- bge _08190256
- ldr r1, =gUnknown_0860D14C
- adds r0, r2, r1
- ldrb r3, [r0]
- adds r6, r1, 0
- cmp r3, r5
- beq _08190234
- mov r1, r12
- ldr r0, [r1]
- lsls r1, r3, 2
- adds r0, r1
- ldr r3, =0x00000d25
- adds r0, r3
- b _0819024E
- .pool
-_08190234:
- adds r2, 0x1
- cmp r2, r4
- bge _08190256
- adds r0, r2, r6
- ldrb r1, [r0]
- cmp r1, r5
- beq _08190234
- mov r3, r12
- ldr r0, [r3]
- lsls r1, 2
- adds r0, r1
- ldr r1, =0x00000d25
- adds r0, r1
-_0819024E:
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- blt _08190234
-_08190256:
- cmp r2, r4
- beq _08190286
- ldr r0, =gUnknown_0860D14C
- adds r0, r2, r0
- ldrb r0, [r0]
- b _08190292
- .pool
-_0819026C:
- mov r3, r12
- ldr r1, [r3]
- lsls r0, r5, 2
- adds r0, r6
- ldrb r2, [r0]
- lsls r0, r2, 2
- adds r1, r0
- ldr r0, =0x00000d25
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 29
- cmp r0, 0
- bge _08190290
-_08190286:
- movs r0, 0xFF
- b _08190292
- .pool
-_08190290:
- adds r0, r2, 0
-_08190292:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81901A0
-
- thumb_func_start sub_8190298
-sub_8190298: @ 8190298
- push {lr}
- bl sub_81902AC
- ldr r1, =gTrainerBattleOpponent_A
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8190298
-
- thumb_func_start sub_81902AC
-sub_81902AC: @ 81902AC
- push {r4,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r4, [r0]
- ldr r1, =0x00000cb2
- adds r0, r4, r1
- ldrh r0, [r0]
- ldr r1, =0x000003ff
- bl sub_81901A0
- lsls r0, 2
- adds r4, r0
- ldr r0, =0x00000d24
- adds r4, r0
- ldrh r0, [r4]
- lsls r0, 22
- lsrs r0, 22
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81902AC
-
- thumb_func_start sub_81902E4
-sub_81902E4: @ 81902E4
- push {lr}
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- movs r1, 0
- bl sub_8162614
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81902E4
-
- thumb_func_start sub_81902F8
-sub_81902F8: @ 81902F8
- push {r4,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- bl VarSet
- ldr r1, [r4]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- bl sub_81A4C30
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81902F8
-
- thumb_func_start sub_819033C
-sub_819033C: @ 819033C
- push {r4,r5,lr}
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r4, [r0]
- lsls r4, 30
- lsrs r4, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 24
- ldr r1, [r5]
- lsls r4, 1
- lsrs r0, 22
- adds r4, r0
- ldr r3, =0x00000d0c
- adds r1, r3
- adds r1, r4
- ldrh r0, [r1]
- ldr r2, =0x000003e6
- cmp r0, r2
- bhi _0819036E
- adds r0, 0x1
- strh r0, [r1]
-_0819036E:
- ldr r0, [r5]
- ldr r1, =0x00000d1c
- adds r0, r1
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, r2
- bhi _08190380
- adds r0, 0x1
- strh r0, [r1]
-_08190380:
- ldr r0, [r5]
- adds r1, r0, r3
- adds r1, r4
- ldr r2, =0x00000d14
- adds r0, r2
- adds r0, r4
- ldrh r1, [r1]
- ldrh r2, [r0]
- cmp r1, r2
- bls _08190396
- strh r1, [r0]
-_08190396:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819033C
-
- thumb_func_start sub_81903B8
-sub_81903B8: @ 81903B8
- push {r4,r5,lr}
- ldr r0, =sub_8190400
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r5, 0
- strh r5, [r4, 0x8]
- bl sub_81902AC
- lsls r0, 16
- lsrs r0, 16
- bl sub_8195358
- strh r0, [r4, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- ldr r0, =sub_8194B54
- bl SetMainCallback2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81903B8
-
- thumb_func_start sub_8190400
-sub_8190400: @ 8190400
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r10
- lsls r0, 3
- adds r6, r0, r1
- movs r0, 0xA
- ldrsh r5, [r6, r0]
- movs r2, 0xC
- ldrsh r1, [r6, r2]
- mov r9, r1
- movs r0, 0xE
- ldrsh r7, [r6, r0]
- movs r1, 0x8
- ldrsh r4, [r6, r1]
- cmp r4, 0x1
- beq _08190508
- cmp r4, 0x1
- bgt _08190440
- cmp r4, 0
- beq _0819044E
- b _08190772
- .pool
-_08190440:
- cmp r4, 0x2
- bne _08190446
- b _08190570
-_08190446:
- cmp r4, 0x3
- bne _0819044C
- b _08190634
-_0819044C:
- b _08190772
-_0819044E:
- movs r0, 0
- bl SetHBlankCallback
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x1
- bl EnableInterrupts
- str r4, [sp, 0x4]
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, =0x05006000
- add r0, sp, 0x4
- bl CpuSet
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0860CE84
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_0860CEB4
- bl InitWindows
- bl DeactivateAllTextPrinters
- ldr r0, =gBattle_BG0_X
- strh r4, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r4, [r0]
- ldr r0, =gBattle_BG1_X
- strh r4, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r4, [r0]
- ldr r0, =gBattle_BG3_X
- strh r4, [r0]
- ldr r0, =gBattle_BG3_Y
- strh r4, [r0]
- mov r2, r9
- cmp r2, 0x2
- bne _081904DC
- ldr r0, =gBattle_BG2_X
- strh r4, [r0]
- ldr r0, =gBattle_BG2_Y
- strh r4, [r0]
- b _081904E6
- .pool
-_081904DC:
- ldr r0, =gBattle_BG2_X
- strh r4, [r0]
- ldr r1, =gBattle_BG2_Y
- movs r0, 0xA0
- strh r0, [r1]
-_081904E6:
- ldr r0, =gTasks
- mov r2, r10
- lsls r1, r2, 2
- add r1, r10
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _08190772
- .pool
-_08190508:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x42
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x46
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x3F
- bl SetGpuReg
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x4
- strb r0, [r1]
- b _08190602
- .pool
-_08190570:
- ldr r1, =gUnknown_08D83D50
- movs r5, 0x80
- lsls r5, 6
- movs r7, 0
- str r7, [sp]
- movs r0, 0x2
- adds r2, r5, 0
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08D84970
- movs r4, 0x1
- str r4, [sp]
- movs r0, 0x2
- adds r2, r5, 0
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08D84F00
- movs r2, 0x80
- lsls r2, 4
- str r4, [sp]
- movs r0, 0x3
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r0, =gUnknown_0860CF50
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_08D85358
- movs r4, 0x80
- lsls r4, 2
- movs r1, 0
- adds r2, r4, 0
- bl LoadCompressedPalette
- ldr r0, =gUnknown_08D85444
- movs r1, 0x80
- lsls r1, 1
- adds r2, r4, 0
- bl LoadCompressedPalette
- ldr r0, =gUnknown_08D85600
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadCompressedPalette
- mov r0, r9
- cmp r0, 0x2
- bne _081905DE
- ldr r0, =gUnknown_08D854C8
- movs r1, 0x50
- movs r2, 0x20
- bl LoadCompressedPalette
-_081905DE:
- str r7, [sp, 0x8]
- add r0, sp, 0x8
- ldr r1, =gPlttBufferFaded
- ldr r2, =0x05000100
- bl CpuSet
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
-_08190602:
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- b _08190772
- .pool
-_08190634:
- ldr r0, =sub_8194B70
- bl SetVBlankCallback
- ldr r4, =gUnknown_0203CD78
- movs r0, 0x14
- bl AllocZeroed
- str r0, [r4]
- movs r6, 0
- lsls r5, 24
- movs r2, 0xFF
-_0819064A:
- ldr r1, [r4]
- adds r1, r6
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- adds r6, 0x1
- cmp r6, 0xF
- ble _0819064A
- bl LoadMonIconPalettes
- ldr r0, =sub_8190CD4
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xC]
- mov r1, r9
- strh r1, [r0, 0xE]
- strh r7, [r0, 0x10]
- mov r2, r9
- cmp r2, 0x2
- bne _081906A8
- lsrs r1, r5, 24
- movs r0, 0
- bl sub_819314C
- ldr r0, =gUnknown_0203CD78
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x10]
- b _081906B0
- .pool
-_081906A8:
- lsrs r1, r5, 24
- movs r0, 0
- bl sub_81924E0
-_081906B0:
- movs r1, 0xFA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- mov r0, r9
- cmp r0, 0
- beq _0819076C
- ldr r5, =gUnknown_0860D068
- adds r0, r5, 0
- movs r1, 0x78
- movs r2, 0x4
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- ldr r1, =gSprites
- mov r8, r1
- add r4, r8
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
- strh r6, [r4, 0x2E]
- adds r0, r5, 0
- movs r1, 0x78
- movs r2, 0x9C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- add r4, r8
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- strh r6, [r4, 0x2E]
- ldr r5, =gUnknown_0860D050
- adds r0, r5, 0
- movs r1, 0x6
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- mov r2, r8
- adds r4, r0, r2
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
- strh r6, [r4, 0x2E]
- movs r0, 0
- strh r0, [r4, 0x30]
- mov r1, r9
- cmp r1, 0x1
- bne _08190746
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_08190746:
- adds r0, r5, 0
- movs r1, 0xEA
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- add r4, r8
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- strh r6, [r4, 0x2E]
- movs r0, 0x1
- strh r0, [r4, 0x30]
-_0819076C:
- mov r0, r10
- bl DestroyTask
-_08190772:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8190400
-
- thumb_func_start sub_8190790
-sub_8190790: @ 8190790
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x22]
- adds r1, r0, 0x4
- strh r1, [r2, 0x22]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _081907D4
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- blt _081907BC
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
-_081907BC:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x28
- bne _081907F0
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- b _081907F0
- .pool
-_081907D4:
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xBF
- ble _081907F0
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldrh r0, [r2, 0x34]
- bl sub_818D8F0
-_081907F0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8190790
-
- thumb_func_start sub_81907F8
-sub_81907F8: @ 81907F8
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x22]
- subs r1, r0, 0x4
- strh r1, [r2, 0x22]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08190838
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xC0
- bgt _08190820
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
-_08190820:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x28
- bne _08190858
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- b _08190858
- .pool
-_08190838:
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bgt _08190858
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldrh r0, [r2, 0x34]
- bl sub_818D8F0
-_08190858:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81907F8
-
- thumb_func_start sub_8190860
-sub_8190860: @ 8190860
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x20]
- adds r1, r0, 0x4
- strh r1, [r2, 0x20]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _081908A4
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- blt _0819088C
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
-_0819088C:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x40
- bne _081908C0
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- b _081908C0
- .pool
-_081908A4:
- lsls r1, 16
- ldr r0, =0x010f0000
- cmp r1, r0
- ble _081908C0
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldrh r0, [r2, 0x34]
- bl sub_818D8F0
-_081908C0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8190860
-
- thumb_func_start sub_81908CC
-sub_81908CC: @ 81908CC
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x20]
- subs r1, r0, 0x4
- strh r1, [r2, 0x20]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08190910
- lsls r1, 16
- movs r0, 0x88
- lsls r0, 17
- cmp r1, r0
- bgt _081908F6
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
-_081908F6:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x40
- bne _08190930
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- b _08190930
- .pool
-_08190910:
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bgt _08190930
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldrh r0, [r2, 0x34]
- bl sub_818D8F0
-_08190930:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81908CC
-
- thumb_func_start sub_8190938
-sub_8190938: @ 8190938
- push {lr}
- adds r1, r0, 0
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0819094A
- adds r0, r1, 0
- bl UpdateMonIconFrame
-_0819094A:
- pop {r0}
- bx r0
- thumb_func_end sub_8190938
-
- thumb_func_start sub_8190950
-sub_8190950: @ 8190950
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08190962
- adds r0, r4, 0
- bl UpdateMonIconFrame
-_08190962:
- ldrh r0, [r4, 0x22]
- adds r1, r0, 0x4
- strh r1, [r4, 0x22]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081909A4
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- blt _0819098A
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_0819098A:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x28
- bne _081909C0
- ldr r0, =sub_8190938
- str r0, [r4, 0x1C]
- b _081909C0
- .pool
-_081909A4:
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xAF
- ble _081909C0
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- adds r0, r4, 0
- bl sub_80D2EF8
-_081909C0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8190950
-
- thumb_func_start sub_81909CC
-sub_81909CC: @ 81909CC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081909DE
- adds r0, r4, 0
- bl UpdateMonIconFrame
-_081909DE:
- ldrh r0, [r4, 0x22]
- subs r1, r0, 0x4
- strh r1, [r4, 0x22]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08190A1C
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xB0
- bgt _08190A02
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_08190A02:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x28
- bne _08190A3C
- ldr r0, =sub_8190938
- str r0, [r4, 0x1C]
- b _08190A3C
- .pool
-_08190A1C:
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bgt _08190A3C
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- adds r0, r4, 0
- bl sub_80D2EF8
-_08190A3C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81909CC
-
- thumb_func_start sub_8190A48
-sub_8190A48: @ 8190A48
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08190A5A
- adds r0, r4, 0
- bl UpdateMonIconFrame
-_08190A5A:
- ldrh r0, [r4, 0x20]
- adds r1, r0, 0x4
- strh r1, [r4, 0x20]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08190A9C
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- blt _08190A82
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_08190A82:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x40
- bne _08190AB8
- ldr r0, =sub_8190938
- str r0, [r4, 0x1C]
- b _08190AB8
- .pool
-_08190A9C:
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _08190AB8
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- adds r0, r4, 0
- bl sub_80D2EF8
-_08190AB8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8190A48
-
- thumb_func_start sub_8190AC4
-sub_8190AC4: @ 8190AC4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08190AD6
- adds r0, r4, 0
- bl UpdateMonIconFrame
-_08190AD6:
- ldrh r0, [r4, 0x20]
- subs r1, r0, 0x4
- strh r1, [r4, 0x20]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08190B14
- lsls r1, 16
- movs r0, 0x80
- lsls r0, 17
- cmp r1, r0
- bgt _08190AFC
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_08190AFC:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x40
- bne _08190B34
- ldr r0, =sub_8190938
- str r0, [r4, 0x1C]
- b _08190B34
- .pool
-_08190B14:
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bgt _08190B34
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- adds r0, r4, 0
- bl sub_80D2EF8
-_08190B34:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8190AC4
-
- thumb_func_start sub_8190B40
-sub_8190B40: @ 8190B40
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r3, r0, 0
- movs r0, 0x2E
- ldrsh r6, [r3, r0]
- ldr r2, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r2
- movs r7, 0x10
- ldrsh r1, [r4, r7]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- ldr r1, =gUnknown_0860D080
- adds r0, r1
- ldrb r0, [r0]
- mov r10, r0
- ldr r1, =gSaveBlock2Ptr
- ldr r5, [r1]
- ldr r7, =0x00000cb2
- adds r0, r5, r7
- ldrh r0, [r0]
- mov r12, r0
- movs r7, 0xE
- ldrsh r0, [r4, r7]
- mov r9, r2
- mov r8, r1
- cmp r0, 0x1
- bne _08190C0C
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _08190BFC
- mov r2, r10
- lsls r0, r2, 2
- adds r1, r5, r0
- ldr r7, =0x00000d25
- adds r1, r7
- ldrb r2, [r1]
- lsls r1, r2, 29
- adds r4, r0, 0
- cmp r1, 0
- bge _08190BB6
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- ldrb r1, [r0, 0x10]
- subs r1, 0x1
- lsls r0, r2, 27
- lsrs r0, 30
- cmp r1, r0
- blt _08190C32
-_08190BB6:
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- ldr r2, =0x00000d25
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- blt _08190BD4
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- subs r0, 0x1
- cmp r0, r12
- blt _08190C32
-_08190BD4:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- add r0, r9
- movs r7, 0x8
- ldrsh r0, [r0, r7]
- b _08190C4C
- .pool
-_08190BFC:
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- bne _08190C32
- b _08190C48
- .pool
-_08190C0C:
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _08190C28
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x1
- bls _08190C32
- movs r7, 0x8
- ldrsh r0, [r4, r7]
- b _08190C4C
- .pool
-_08190C28:
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- beq _08190C48
-_08190C32:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- b _08190C5C
- .pool
-_08190C48:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
-_08190C4C:
- cmp r0, 0x2
- bne _08190C5C
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_08190C5C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8190B40
-
- thumb_func_start sub_8190C6C
-sub_8190C6C: @ 8190C6C
- push {lr}
- adds r3, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- ldr r2, =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r1, r0, r2
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _08190C9C
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- bne _08190CA6
- b _08190CC0
- .pool
-_08190C9C:
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x1
- beq _08190CC0
-_08190CA6:
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0x2
- bne _08190CCE
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _08190CCE
- .pool
-_08190CC0:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_08190CCE:
- pop {r0}
- bx r0
- thumb_func_end sub_8190C6C
-
- thumb_func_start sub_8190CD4
-sub_8190CD4: @ 8190CD4
- 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 r8, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r3, 0xE
- ldrsh r2, [r0, r3]
- mov r9, r2
- movs r4, 0x10
- ldrsh r7, [r0, r4]
- movs r5, 0x8
- ldrsh r0, [r0, r5]
- cmp r0, 0x8
- bls _08190D06
- bl _08192202
-_08190D06:
- lsls r0, 2
- ldr r1, =_08190D18
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08190D18:
- .4byte _08190D3C
- .4byte _08190D7C
- .4byte _08190DA8
- .4byte _08190E48
- .4byte _08191FF8
- .4byte _08192038
- .4byte _08192078
- .4byte _081920BC
- .4byte _08192106
-_08190D3C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08190D50
- bl _08192202
-_08190D50:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- mov r6, r8
- lsls r0, r6, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x8]
- bl _08192202
- .pool
-_08190D7C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08190D8C
- bl _08192202
-_08190D8C:
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- ldr r2, =gTasks
- adds r0, r2
- movs r1, 0x2
- strh r1, [r0, 0x8]
- bl _08192202
- .pool
-_08190DA8:
- mov r0, r8
- bl sub_819221C
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x8
- bgt _08190DBE
- cmp r6, 0x1
- bge _08190DF0
- bl _08192202
-_08190DBE:
- cmp r6, 0x9
- beq _08190DC6
- bl _08192202
-_08190DC6:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- strh r1, [r0, 0x8]
- bl _08192202
- .pool
-_08190DF0:
- ldr r1, =gTasks
- mov r4, r8
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0x12]
- movs r5, 0xC
- ldrsh r0, [r0, r5]
- movs r1, 0
- mov r9, r2
- cmp r0, 0
- beq _08190E0C
- movs r1, 0x9
-_08190E0C:
- adds r6, r1, 0
- adds r0, r6, 0
- adds r0, 0x9
- cmp r6, r0
- bge _08190E32
- adds r5, r0, 0
-_08190E18:
- lsls r4, r6, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x2
- bl CopyWindowToVram
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r6, 0x1
- cmp r6, r5
- blt _08190E18
-_08190E32:
- ldr r0, =gTasks
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x3
- strh r0, [r1, 0x8]
- bl _08192202
- .pool
-_08190E48:
- mov r6, r8
- lsls r1, r6, 2
- adds r0, r1, r6
- lsls r0, 3
- ldr r2, =gTasks
- adds r0, r2
- movs r3, 0x12
- ldrsh r6, [r0, r3]
- subs r0, r6, 0x1
- mov r9, r1
- cmp r0, 0x7
- bls _08190E64
- bl _08192202
-_08190E64:
- lsls r0, 2
- ldr r1, =_08190E78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08190E78:
- .4byte _08190E98
- .4byte _08191234
- .4byte _081915CC
- .4byte _08191B08
- .4byte _08190E98
- .4byte _08191234
- .4byte _0819187C
- .4byte _08191D68
-_08190E98:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- ldr r4, =gTasks
- adds r0, r4
- movs r5, 0xC
- ldrsh r2, [r0, r5]
- cmp r2, 0
- beq _08190ED4
- ldr r0, =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r1, [r0]
- ldr r0, =gBattle_BG1_X
- strh r1, [r0]
- ldr r1, =gBattle_BG1_Y
- movs r0, 0xA0
- strh r0, [r1]
- b _08190EE6
- .pool
-_08190ED4:
- ldr r0, =gBattle_BG0_X
- strh r2, [r0]
- ldr r1, =gBattle_BG0_Y
- movs r0, 0xA0
- strh r0, [r1]
- ldr r0, =gBattle_BG1_X
- strh r2, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r2, [r0]
-_08190EE6:
- cmp r6, 0x1
- bne _08190F9C
- ldr r5, =gUnknown_0203CD78
- ldr r0, [r5]
- ldrb r1, [r0, 0x10]
- cmp r1, 0
- bne _08190F50
- ldr r0, =gBattle_BG2_X
- strh r1, [r0]
- ldr r1, =gBattle_BG2_Y
- movs r6, 0xA0
- lsls r6, 1
- adds r0, r6, 0
- strh r0, [r1]
- ldr r3, =gUnknown_0860D080
- ldr r2, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r2
- movs r4, 0xA
- ldrsh r1, [r0, r4]
- adds r1, r3
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r2
- ldrb r2, [r0, 0xC]
- movs r0, 0x10
- orrs r0, r2
- ldrb r1, [r1]
- bl sub_81924E0
- b _08191084
- .pool
-_08190F50:
- ldr r1, =gBattle_BG2_X
- movs r6, 0x80
- lsls r6, 1
- adds r0, r6, 0
- strh r0, [r1]
- ldr r0, =gBattle_BG2_Y
- movs r4, 0
- strh r4, [r0]
- ldr r3, =gUnknown_0860D080
- ldr r2, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r2
- movs r6, 0xA
- ldrsh r1, [r0, r6]
- adds r1, r3
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r2
- ldrb r2, [r0, 0xC]
- movs r0, 0x10
- orrs r0, r2
- ldrb r1, [r1]
- bl sub_81924E0
- ldr r0, [r5]
- strb r4, [r0, 0x10]
- b _08191084
- .pool
-_08190F9C:
- ldr r6, =gUnknown_0203CD78
- ldr r1, [r6]
- ldrb r5, [r1, 0x10]
- cmp r5, 0
- bne _08190FF8
- ldr r4, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r4
- movs r2, 0xA
- ldrsh r0, [r0, r2]
- adds r2, r0, 0
- subs r2, 0x10
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, 0x11
- bl sub_8192F08
- ldr r0, =gBattle_BG2_X
- strh r5, [r0]
- ldr r1, =gBattle_BG2_Y
- movs r3, 0xA0
- lsls r3, 1
- adds r0, r3, 0
- strh r0, [r1]
- ldr r2, [r6]
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r4
- ldrb r1, [r0, 0xC]
- movs r0, 0x10
- orrs r0, r1
- ldrb r1, [r2, 0x11]
- bl sub_81924E0
- b _08191084
- .pool
-_08190FF8:
- cmp r5, 0x2
- bne _0819104C
- ldr r4, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r4
- movs r5, 0xA
- ldrsh r0, [r0, r5]
- adds r2, r0, 0
- subs r2, 0x10
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, 0x11
- bl sub_8192F08
- ldr r1, =gBattle_BG2_X
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gBattle_BG2_Y
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, [r6]
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r4
- ldrb r1, [r0, 0xC]
- movs r0, 0x10
- orrs r0, r1
- ldrb r1, [r2, 0x12]
- bl sub_81924E0
- b _08191084
- .pool
-_0819104C:
- ldr r1, =gBattle_BG2_X
- movs r3, 0x80
- lsls r3, 1
- adds r0, r3, 0
- strh r0, [r1]
- ldr r1, =gBattle_BG2_Y
- movs r0, 0xA0
- strh r0, [r1]
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r4, 0xA
- ldrsh r0, [r0, r4]
- adds r2, r0, 0
- subs r2, 0x10
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0xC]
- movs r0, 0x10
- orrs r0, r1
- lsls r1, r2, 24
- lsrs r1, 24
- bl sub_819314C
-_08191084:
- movs r6, 0
- ldr r5, =gUnknown_0203CD78
- mov r10, r5
- ldr r3, =gSprites
- mov r0, r9
- add r0, r8
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- mov r12, r6
- adds r4, r3, 0
- adds r4, 0x1C
- movs r7, 0x1
-_0819109E:
- cmp r6, 0x1
- bgt _0819110C
- mov r2, r10
- ldr r0, [r2]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08191150
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_8190790
- str r1, [r0]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r5, 0xC]
- eors r0, r7
- strh r0, [r1, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- mov r1, r12
- strh r1, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r1, [r0, 0x34]
- b _08191150
- .pool
-_0819110C:
- mov r2, r10
- ldr r0, [r2]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08191150
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_8190950
- str r1, [r0]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r5, 0xC]
- eors r0, r7
- strh r0, [r1, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- mov r1, r12
- strh r1, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
-_08191150:
- adds r6, 0x1
- cmp r6, 0x7
- ble _0819109E
- movs r6, 0x8
- ldr r2, =gUnknown_0203CD78
- mov r12, r2
- ldr r3, =gSprites
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r5, r0, r1
- movs r4, 0
- adds r7, r3, 0
- adds r7, 0x1C
-_0819116E:
- cmp r6, 0x9
- bgt _081911D4
- mov r1, r12
- ldr r0, [r1]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08191214
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, =sub_8190790
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r5, 0xC]
- strh r1, [r0, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r1, [r0, 0x34]
- b _08191214
- .pool
-_081911D4:
- mov r2, r12
- ldr r0, [r2]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08191214
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, =sub_8190950
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r5, 0xC]
- strh r1, [r0, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
-_08191214:
- adds r6, 0x1
- cmp r6, 0xF
- ble _0819116E
- mov r0, r9
- add r0, r8
- lsls r0, 3
- ldr r3, =gTasks
- adds r0, r3
- movs r2, 0
- movs r1, 0x4
- bl _08191FE8
- .pool
-_08191234:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- ldr r4, =gTasks
- adds r0, r4
- movs r5, 0xC
- ldrsh r2, [r0, r5]
- cmp r2, 0
- beq _08191278
- ldr r0, =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r1, [r0]
- ldr r0, =gBattle_BG1_X
- strh r1, [r0]
- ldr r1, =gBattle_BG1_Y
- ldr r2, =0x0000ff60
- adds r0, r2, 0
- strh r0, [r1]
- b _0819128C
- .pool
-_08191278:
- ldr r0, =gBattle_BG0_X
- strh r2, [r0]
- ldr r1, =gBattle_BG0_Y
- ldr r3, =0x0000ff60
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, =gBattle_BG1_X
- strh r2, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r2, [r0]
-_0819128C:
- cmp r6, 0x2
- bne _0819133C
- ldr r5, =gUnknown_0203CD78
- ldr r0, [r5]
- ldrb r1, [r0, 0x10]
- cmp r1, 0
- bne _081912F4
- ldr r0, =gBattle_BG2_X
- strh r1, [r0]
- ldr r1, =gBattle_BG2_Y
- movs r0, 0xA0
- strh r0, [r1]
- ldr r3, =gUnknown_0860D080
- ldr r2, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r2
- movs r4, 0xA
- ldrsh r1, [r0, r4]
- adds r1, r3
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r2
- ldrb r2, [r0, 0xC]
- movs r0, 0x4
- orrs r0, r2
- ldrb r1, [r1]
- bl sub_81924E0
- b _0819141C
- .pool
-_081912F4:
- ldr r0, =gBattle_BG2_X
- movs r4, 0
- strh r4, [r0]
- ldr r0, =gBattle_BG2_Y
- strh r4, [r0]
- ldr r3, =gUnknown_0860D080
- ldr r2, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r2
- movs r6, 0xA
- ldrsh r1, [r0, r6]
- adds r1, r3
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r2
- ldrb r2, [r0, 0xC]
- movs r0, 0x4
- orrs r0, r2
- ldrb r1, [r1]
- bl sub_81924E0
- ldr r0, [r5]
- strb r4, [r0, 0x10]
- b _0819141C
- .pool
-_0819133C:
- ldr r6, =gUnknown_0203CD78
- ldr r1, [r6]
- ldrb r5, [r1, 0x10]
- cmp r5, 0
- bne _08191394
- ldr r4, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r4
- movs r2, 0xA
- ldrsh r0, [r0, r2]
- adds r2, r0, 0
- subs r2, 0x10
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, 0x11
- bl sub_8192F08
- ldr r0, =gBattle_BG2_X
- strh r5, [r0]
- ldr r1, =gBattle_BG2_Y
- movs r0, 0xA0
- strh r0, [r1]
- ldr r2, [r6]
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r4
- ldrb r1, [r0, 0xC]
- movs r0, 0x4
- orrs r0, r1
- ldrb r1, [r2, 0x11]
- bl sub_81924E0
- b _0819141C
- .pool
-_08191394:
- cmp r5, 0x2
- bne _081913E4
- ldr r4, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r4
- movs r3, 0xA
- ldrsh r0, [r0, r3]
- adds r2, r0, 0
- subs r2, 0x10
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, 0x11
- bl sub_8192F08
- ldr r1, =gBattle_BG2_X
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gBattle_BG2_Y
- movs r0, 0xA0
- strh r0, [r1]
- ldr r2, [r6]
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r4
- ldrb r1, [r0, 0xC]
- movs r0, 0x4
- orrs r0, r1
- ldrb r1, [r2, 0x12]
- bl sub_81924E0
- b _0819141C
- .pool
-_081913E4:
- ldr r1, =gBattle_BG2_X
- movs r4, 0x80
- lsls r4, 1
- adds r0, r4, 0
- strh r0, [r1]
- ldr r1, =gBattle_BG2_Y
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r5, 0xA
- ldrsh r0, [r0, r5]
- adds r2, r0, 0
- subs r2, 0x10
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0xC]
- movs r0, 0x4
- orrs r0, r1
- lsls r1, r2, 24
- lsrs r1, 24
- bl sub_819314C
-_0819141C:
- movs r6, 0
- ldr r0, =gUnknown_0203CD78
- mov r10, r0
- ldr r3, =gSprites
- mov r0, r9
- add r0, r8
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- mov r12, r6
- adds r4, r3, 0
- adds r4, 0x1C
- movs r7, 0x1
-_08191436:
- cmp r6, 0x1
- bgt _081914A4
- mov r2, r10
- ldr r0, [r2]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _081914E8
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_81907F8
- str r1, [r0]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r5, 0xC]
- eors r0, r7
- strh r0, [r1, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- mov r1, r12
- strh r1, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r1, [r0, 0x34]
- b _081914E8
- .pool
-_081914A4:
- mov r2, r10
- ldr r0, [r2]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _081914E8
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_81909CC
- str r1, [r0]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r5, 0xC]
- eors r0, r7
- strh r0, [r1, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- mov r1, r12
- strh r1, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
-_081914E8:
- adds r6, 0x1
- cmp r6, 0x7
- ble _08191436
- movs r6, 0x8
- ldr r2, =gUnknown_0203CD78
- mov r12, r2
- ldr r3, =gSprites
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r5, r0, r1
- movs r4, 0
- adds r7, r3, 0
- adds r7, 0x1C
-_08191506:
- cmp r6, 0x9
- bgt _0819156C
- mov r1, r12
- ldr r0, [r1]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _081915AC
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, =sub_81907F8
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r5, 0xC]
- strh r1, [r0, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r1, [r0, 0x34]
- b _081915AC
- .pool
-_0819156C:
- mov r2, r12
- ldr r0, [r2]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _081915AC
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, =sub_81909CC
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r5, 0xC]
- strh r1, [r0, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
-_081915AC:
- adds r6, 0x1
- cmp r6, 0xF
- ble _08191506
- mov r0, r9
- add r0, r8
- lsls r0, 3
- ldr r3, =gTasks
- adds r0, r3
- movs r2, 0
- movs r1, 0x5
- bl _08191FE8
- .pool
-_081915CC:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- ldr r4, =gTasks
- adds r0, r4
- movs r5, 0xC
- ldrsh r2, [r0, r5]
- cmp r2, 0
- beq _0819160C
- ldr r0, =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r1, [r0]
- ldr r2, =gBattle_BG1_X
- movs r6, 0x80
- lsls r6, 1
- adds r0, r6, 0
- strh r0, [r2]
- ldr r0, =gBattle_BG1_Y
- strh r1, [r0]
- b _08191622
- .pool
-_0819160C:
- ldr r1, =gBattle_BG0_X
- movs r3, 0x80
- lsls r3, 1
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, =gBattle_BG0_Y
- strh r2, [r0]
- ldr r0, =gBattle_BG1_X
- strh r2, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r2, [r0]
-_08191622:
- ldr r0, =gUnknown_0203CD78
- ldr r4, [r0]
- ldrb r0, [r4, 0x10]
- cmp r0, 0
- bne _08191688
- ldr r1, =gBattle_BG2_X
- movs r4, 0x80
- lsls r4, 1
- adds r0, r4, 0
- strh r0, [r1]
- ldr r1, =gBattle_BG2_Y
- movs r0, 0xA0
- strh r0, [r1]
- ldr r3, =gUnknown_0860D080
- ldr r2, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r2
- movs r5, 0xA
- ldrsh r1, [r0, r5]
- adds r1, r3
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r2
- ldrb r2, [r0, 0xC]
- movs r0, 0x8
- orrs r0, r2
- ldrb r1, [r1]
- bl sub_81924E0
- b _081916C6
- .pool
-_08191688:
- ldr r1, =gBattle_BG2_X
- movs r6, 0x80
- lsls r6, 1
- adds r0, r6, 0
- strh r0, [r1]
- ldr r1, =gBattle_BG2_Y
- movs r0, 0
- strh r0, [r1]
- ldr r3, =gUnknown_0860D15C
- ldr r2, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r2
- movs r5, 0xA
- ldrsh r1, [r0, r5]
- lsls r1, 2
- subs r1, 0x1
- ldrb r4, [r4, 0x10]
- adds r1, r4
- adds r1, r3
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r2
- ldrb r2, [r0, 0xC]
- movs r0, 0x8
- orrs r0, r2
- ldrb r1, [r1]
- bl sub_819314C
-_081916C6:
- movs r6, 0
- ldr r0, =gUnknown_0203CD78
- mov r10, r0
- ldr r3, =gSprites
- mov r0, r9
- add r0, r8
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- mov r12, r6
- adds r4, r3, 0
- adds r4, 0x1C
- movs r7, 0x1
-_081916E0:
- cmp r6, 0x1
- bgt _08191754
- mov r2, r10
- ldr r0, [r2]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08191798
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_8190860
- str r1, [r0]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r5, 0xC]
- eors r0, r7
- strh r0, [r1, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- mov r1, r12
- strh r1, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r1, [r0, 0x34]
- b _08191798
- .pool
-_08191754:
- mov r2, r10
- ldr r0, [r2]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08191798
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_8190A48
- str r1, [r0]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r5, 0xC]
- eors r0, r7
- strh r0, [r1, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- mov r1, r12
- strh r1, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
-_08191798:
- adds r6, 0x1
- cmp r6, 0x7
- ble _081916E0
- movs r6, 0x8
- ldr r2, =gUnknown_0203CD78
- mov r12, r2
- ldr r3, =gSprites
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r5, r0, r1
- movs r4, 0
- adds r7, r3, 0
- adds r7, 0x1C
-_081917B6:
- cmp r6, 0x9
- bgt _0819181C
- mov r1, r12
- ldr r0, [r1]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _0819185C
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, =sub_8190860
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r5, 0xC]
- strh r1, [r0, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r1, [r0, 0x34]
- b _0819185C
- .pool
-_0819181C:
- mov r2, r12
- ldr r0, [r2]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _0819185C
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, =sub_8190A48
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r5, 0xC]
- strh r1, [r0, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
-_0819185C:
- adds r6, 0x1
- cmp r6, 0xF
- ble _081917B6
- mov r0, r9
- add r0, r8
- lsls r0, 3
- ldr r3, =gTasks
- adds r0, r3
- movs r2, 0
- movs r1, 0x6
- b _08191FE8
- .pool
-_0819187C:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- ldr r4, =gTasks
- adds r0, r4
- movs r5, 0xC
- ldrsh r2, [r0, r5]
- cmp r2, 0
- beq _081918BC
- ldr r0, =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r1, [r0]
- ldr r2, =gBattle_BG1_X
- movs r6, 0x80
- lsls r6, 1
- adds r0, r6, 0
- strh r0, [r2]
- ldr r0, =gBattle_BG1_Y
- strh r1, [r0]
- b _081918D2
- .pool
-_081918BC:
- ldr r1, =gBattle_BG0_X
- movs r3, 0x80
- lsls r3, 1
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, =gBattle_BG0_Y
- strh r2, [r0]
- ldr r0, =gBattle_BG1_X
- strh r2, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r2, [r0]
-_081918D2:
- ldr r0, =gUnknown_0203CD78
- ldr r2, [r0]
- ldrb r0, [r2, 0x10]
- cmp r0, 0
- bne _08191924
- ldr r1, =gBattle_BG2_X
- movs r4, 0x80
- lsls r4, 1
- adds r0, r4, 0
- strh r0, [r1]
- ldr r1, =gBattle_BG2_Y
- movs r0, 0xA0
- strh r0, [r1]
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0xC]
- movs r0, 0x8
- orrs r0, r1
- ldrb r1, [r2, 0x11]
- bl sub_81924E0
- b _08191958
- .pool
-_08191924:
- ldr r1, =gBattle_BG2_X
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gBattle_BG2_Y
- movs r0, 0xA0
- strh r0, [r1]
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r5, 0xA
- ldrsh r0, [r0, r5]
- adds r2, r0, 0
- subs r2, 0x10
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0xC]
- movs r0, 0x8
- orrs r0, r1
- lsls r1, r2, 24
- lsrs r1, 24
- bl sub_819314C
-_08191958:
- movs r6, 0
- ldr r0, =gUnknown_0203CD78
- mov r10, r0
- ldr r3, =gSprites
- mov r0, r9
- add r0, r8
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- mov r12, r6
- adds r4, r3, 0
- adds r4, 0x1C
- movs r7, 0x1
-_08191972:
- cmp r6, 0x1
- bgt _081919E0
- mov r2, r10
- ldr r0, [r2]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08191A24
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_8190860
- str r1, [r0]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r5, 0xC]
- eors r0, r7
- strh r0, [r1, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- mov r1, r12
- strh r1, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r1, [r0, 0x34]
- b _08191A24
- .pool
-_081919E0:
- mov r2, r10
- ldr r0, [r2]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08191A24
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_8190A48
- str r1, [r0]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r5, 0xC]
- eors r0, r7
- strh r0, [r1, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- mov r1, r12
- strh r1, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
-_08191A24:
- adds r6, 0x1
- cmp r6, 0x7
- ble _08191972
- movs r6, 0x8
- ldr r2, =gUnknown_0203CD78
- mov r12, r2
- ldr r3, =gSprites
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r5, r0, r1
- movs r4, 0
- adds r7, r3, 0
- adds r7, 0x1C
-_08191A42:
- cmp r6, 0x9
- bgt _08191AA8
- mov r1, r12
- ldr r0, [r1]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08191AE8
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, =sub_8190860
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r5, 0xC]
- strh r1, [r0, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r1, [r0, 0x34]
- b _08191AE8
- .pool
-_08191AA8:
- mov r2, r12
- ldr r0, [r2]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08191AE8
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, =sub_8190A48
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r5, 0xC]
- strh r1, [r0, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
-_08191AE8:
- adds r6, 0x1
- cmp r6, 0xF
- ble _08191A42
- mov r0, r9
- add r0, r8
- lsls r0, 3
- ldr r3, =gTasks
- adds r0, r3
- movs r2, 0
- movs r1, 0x6
- b _08191FE8
- .pool
-_08191B08:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- ldr r4, =gTasks
- adds r0, r4
- movs r5, 0xC
- ldrsh r2, [r0, r5]
- cmp r2, 0
- beq _08191B48
- ldr r0, =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r1, [r0]
- ldr r2, =gBattle_BG1_X
- movs r6, 0xFF
- lsls r6, 8
- adds r0, r6, 0
- strh r0, [r2]
- ldr r0, =gBattle_BG1_Y
- strh r1, [r0]
- b _08191B5E
- .pool
-_08191B48:
- ldr r1, =gBattle_BG0_X
- movs r3, 0xFF
- lsls r3, 8
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, =gBattle_BG0_Y
- strh r2, [r0]
- ldr r0, =gBattle_BG1_X
- strh r2, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r2, [r0]
-_08191B5E:
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x1
- bne _08191B94
- ldr r1, =gBattle_BG2_X
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gBattle_BG2_Y
- movs r0, 0xA0
- strh r0, [r1]
- b _08191B9E
- .pool
-_08191B94:
- ldr r0, =gBattle_BG2_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG2_Y
- strh r1, [r0]
-_08191B9E:
- ldr r4, =gUnknown_0860D15C
- ldr r5, =gUnknown_0203CD78
- ldr r3, [r5]
- ldr r2, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r2
- movs r6, 0xA
- ldrsh r1, [r0, r6]
- lsls r1, 2
- subs r1, 0x1
- ldrb r3, [r3, 0x10]
- adds r1, r3
- adds r1, r4
- mov r4, r9
- add r4, r8
- lsls r4, 3
- adds r4, r2
- ldrb r2, [r4, 0xC]
- movs r0, 0x2
- orrs r0, r2
- ldrb r1, [r1]
- bl sub_819314C
- movs r6, 0
- ldr r7, =gSprites
- mov r12, r6
- mov r10, r5
- adds r5, r7, 0
- adds r5, 0x1C
-_08191BDC:
- cmp r6, 0x1
- bgt _08191C50
- mov r1, r10
- ldr r0, [r1]
- adds r3, r0, r6
- ldrb r0, [r3]
- cmp r0, 0xFF
- beq _08191C96
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =sub_81908CC
- str r1, [r0]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r4, 0xC]
- movs r2, 0x1
- eors r1, r2
- strh r1, [r0, 0x2E]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- mov r2, r12
- strh r2, [r0, 0x30]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r6, [r0, 0x32]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r1, [r0, 0x34]
- b _08191C96
- .pool
-_08191C50:
- mov r3, r10
- ldr r0, [r3]
- adds r3, r0, r6
- ldrb r0, [r3]
- cmp r0, 0xFF
- beq _08191C96
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =sub_8190AC4
- str r1, [r0]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r4, 0xC]
- movs r2, 0x1
- eors r1, r2
- strh r1, [r0, 0x2E]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- mov r1, r12
- strh r1, [r0, 0x30]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r6, [r0, 0x32]
-_08191C96:
- adds r6, 0x1
- cmp r6, 0x7
- ble _08191BDC
- movs r6, 0x8
- ldr r2, =gUnknown_0203CD78
- mov r12, r2
- ldr r3, =gSprites
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r5, r0, r1
- movs r4, 0
- adds r7, r3, 0
- adds r7, 0x1C
-_08191CB4:
- cmp r6, 0x9
- bgt _08191D1C
- mov r1, r12
- ldr r0, [r1]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08191D5C
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, =sub_81908CC
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r5, 0xC]
- strh r1, [r0, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r1, [r0, 0x34]
- b _08191D5C
- .pool
-_08191D1C:
- mov r2, r12
- ldr r0, [r2]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08191D5C
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, =sub_8190AC4
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r5, 0xC]
- strh r1, [r0, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
-_08191D5C:
- adds r6, 0x1
- cmp r6, 0xF
- ble _08191CB4
- b _08191FDA
- .pool
-_08191D68:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- ldr r4, =gTasks
- adds r0, r4
- movs r5, 0xC
- ldrsh r2, [r0, r5]
- cmp r2, 0
- beq _08191DA8
- ldr r0, =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r1, [r0]
- ldr r2, =gBattle_BG1_X
- movs r6, 0xFF
- lsls r6, 8
- adds r0, r6, 0
- strh r0, [r2]
- ldr r0, =gBattle_BG1_Y
- strh r1, [r0]
- b _08191DBE
- .pool
-_08191DA8:
- ldr r1, =gBattle_BG0_X
- movs r3, 0xFF
- lsls r3, 8
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, =gBattle_BG0_Y
- strh r2, [r0]
- ldr r0, =gBattle_BG1_X
- strh r2, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r2, [r0]
-_08191DBE:
- ldr r0, =gUnknown_0203CD78
- ldr r2, [r0]
- ldrb r0, [r2, 0x10]
- cmp r0, 0x2
- bne _08191E10
- ldr r1, =gBattle_BG2_X
- movs r4, 0x80
- lsls r4, 1
- adds r0, r4, 0
- strh r0, [r1]
- ldr r1, =gBattle_BG2_Y
- movs r0, 0xA0
- strh r0, [r1]
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0xC]
- movs r0, 0x2
- orrs r0, r1
- ldrb r1, [r2, 0x12]
- bl sub_81924E0
- b _08191E44
- .pool
-_08191E10:
- ldr r1, =gBattle_BG2_X
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gBattle_BG2_Y
- movs r0, 0xA0
- strh r0, [r1]
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r5, 0xA
- ldrsh r0, [r0, r5]
- adds r2, r0, 0
- subs r2, 0x10
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0xC]
- movs r0, 0x2
- orrs r0, r1
- lsls r1, r2, 24
- lsrs r1, 24
- bl sub_819314C
-_08191E44:
- movs r6, 0
- ldr r0, =gUnknown_0203CD78
- mov r10, r0
- ldr r3, =gSprites
- mov r0, r9
- add r0, r8
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- mov r12, r6
- adds r4, r3, 0
- adds r4, 0x1C
- movs r7, 0x1
-_08191E5E:
- cmp r6, 0x1
- bgt _08191ECC
- mov r2, r10
- ldr r0, [r2]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08191F10
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_81908CC
- str r1, [r0]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r5, 0xC]
- eors r0, r7
- strh r0, [r1, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- mov r1, r12
- strh r1, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r1, [r0, 0x34]
- b _08191F10
- .pool
-_08191ECC:
- mov r2, r10
- ldr r0, [r2]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08191F10
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_8190AC4
- str r1, [r0]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r5, 0xC]
- eors r0, r7
- strh r0, [r1, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- mov r1, r12
- strh r1, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
-_08191F10:
- adds r6, 0x1
- cmp r6, 0x7
- ble _08191E5E
- movs r6, 0x8
- ldr r2, =gUnknown_0203CD78
- mov r12, r2
- ldr r3, =gSprites
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r5, r0, r1
- movs r4, 0
- adds r7, r3, 0
- adds r7, 0x1C
-_08191F2E:
- cmp r6, 0x9
- bgt _08191F94
- mov r1, r12
- ldr r0, [r1]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08191FD4
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, =sub_81908CC
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r5, 0xC]
- strh r1, [r0, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r1, [r0, 0x34]
- b _08191FD4
- .pool
-_08191F94:
- mov r2, r12
- ldr r0, [r2]
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08191FD4
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, =sub_8190AC4
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r5, 0xC]
- strh r1, [r0, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r6, [r0, 0x32]
-_08191FD4:
- adds r6, 0x1
- cmp r6, 0xF
- ble _08191F2E
-_08191FDA:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- ldr r3, =gTasks
- adds r0, r3
- movs r2, 0
- movs r1, 0x7
-_08191FE8:
- strh r1, [r0, 0x8]
- strh r2, [r0, 0x12]
- b _08192202
- .pool
-_08191FF8:
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- ldr r5, =gTasks
- adds r1, r0, r5
- ldrh r0, [r1, 0x12]
- adds r0, 0x1
- strh r0, [r1, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x29
- beq _08192100
- ldr r1, =gBattle_BG0_Y
- ldrh r0, [r1]
- subs r0, 0x4
- strh r0, [r1]
- ldr r1, =gBattle_BG1_Y
- ldrh r0, [r1]
- subs r0, 0x4
- strh r0, [r1]
- ldr r1, =gBattle_BG2_Y
- b _081920A4
- .pool
-_08192038:
- mov r6, r8
- lsls r0, r6, 2
- add r0, r8
- lsls r0, 3
- ldr r2, =gTasks
- adds r1, r0, r2
- ldrh r0, [r1, 0x12]
- adds r0, 0x1
- strh r0, [r1, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x29
- beq _08192100
- ldr r1, =gBattle_BG0_Y
- ldrh r0, [r1]
- adds r0, 0x4
- strh r0, [r1]
- ldr r1, =gBattle_BG1_Y
- ldrh r0, [r1]
- adds r0, 0x4
- strh r0, [r1]
- ldr r1, =gBattle_BG2_Y
- b _081920E8
- .pool
-_08192078:
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- ldr r4, =gTasks
- adds r1, r0, r4
- ldrh r0, [r1, 0x12]
- adds r0, 0x1
- strh r0, [r1, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x41
- beq _08192100
- ldr r1, =gBattle_BG0_X
- ldrh r0, [r1]
- subs r0, 0x4
- strh r0, [r1]
- ldr r1, =gBattle_BG1_X
- ldrh r0, [r1]
- subs r0, 0x4
- strh r0, [r1]
- ldr r1, =gBattle_BG2_X
-_081920A4:
- ldrh r0, [r1]
- subs r0, 0x4
- strh r0, [r1]
- b _08192202
- .pool
-_081920BC:
- mov r5, r8
- lsls r0, r5, 2
- add r0, r8
- lsls r0, 3
- ldr r6, =gTasks
- adds r1, r0, r6
- ldrh r0, [r1, 0x12]
- adds r0, 0x1
- strh r0, [r1, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x41
- beq _08192100
- ldr r1, =gBattle_BG0_X
- ldrh r0, [r1]
- adds r0, 0x4
- strh r0, [r1]
- ldr r1, =gBattle_BG1_X
- ldrh r0, [r1]
- adds r0, 0x4
- strh r0, [r1]
- ldr r1, =gBattle_BG2_X
-_081920E8:
- ldrh r0, [r1]
- adds r0, 0x4
- strh r0, [r1]
- b _08192202
- .pool
-_08192100:
- movs r0, 0x2
- strh r0, [r1, 0x8]
- b _08192202
-_08192106:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08192202
- movs r6, 0
- ldr r4, =gUnknown_0203CD78
-_08192116:
- cmp r6, 0x1
- bgt _08192134
- ldr r0, [r4]
- adds r1, r0, r6
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0819214E
- bl sub_818D8F0
- b _0819214E
- .pool
-_08192134:
- ldr r0, [r4]
- adds r1, r0, r6
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0819214E
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl sub_80D2EF8
-_0819214E:
- adds r6, 0x1
- cmp r6, 0x7
- ble _08192116
- movs r6, 0x8
- ldr r4, =gUnknown_0203CD78
-_08192158:
- cmp r6, 0x9
- bgt _08192174
- ldr r0, [r4]
- adds r1, r0, r6
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0819218E
- bl sub_818D8F0
- b _0819218E
- .pool
-_08192174:
- ldr r0, [r4]
- adds r1, r0, r6
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0819218E
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl sub_80D2EF8
-_0819218E:
- adds r6, 0x1
- cmp r6, 0xF
- ble _08192158
- bl FreeMonIconPalettes
- ldr r4, =gUnknown_0203CD78
- ldr r0, [r4]
- bl Free
- movs r5, 0
- str r5, [r4]
- bl FreeAllWindowBuffers
- mov r0, r9
- cmp r0, 0
- bne _081921C4
- ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- b _081921FC
- .pool
-_081921C4:
- ldr r0, =sub_8194220
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r2
- strh r5, [r1, 0x8]
- strh r5, [r1, 0xA]
- movs r0, 0x3
- strh r0, [r1, 0xC]
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0, 0x10]
- strh r0, [r1, 0xE]
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0, 0x14]
- strh r0, [r1, 0x10]
-_081921FC:
- mov r0, r8
- bl DestroyTask
-_08192202:
- 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_8190CD4
-
- thumb_func_start sub_819221C
-sub_819221C: @ 819221C
- 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
- movs r7, 0
- ldr r2, =gTasks
- lsls r0, 2
- add r0, r9
- lsls r0, 3
- adds r0, r2
- mov r12, r0
- movs r1, 0x10
- ldrsh r6, [r0, r1]
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r2
- movs r3, 0xA
- ldrsh r5, [r0, r3]
- ldr r0, =gUnknown_0860D080
- adds r0, r5, r0
- ldrb r0, [r0]
- mov r10, r0
- ldr r3, =gSaveBlock2Ptr
- ldr r0, [r3]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r0, [r0]
- mov r8, r0
- ldr r1, =gMain
- ldrh r4, [r1, 0x2E]
- movs r0, 0x3
- ands r0, r4
- adds r2, r1, 0
- cmp r0, 0
- beq _0819226E
- movs r7, 0x9
-_0819226E:
- mov r3, r12
- movs r1, 0xE
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _0819227A
- b _081924CC
-_0819227A:
- cmp r0, 0x1
- beq _08192280
- b _081923B0
-_08192280:
- movs r0, 0x40
- ands r0, r4
- cmp r0, 0
- beq _081922BA
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- bne _081922BA
- cmp r5, 0
- bne _081922B4
- movs r5, 0xF
- b _081922B6
- .pool
-_081922B4:
- subs r5, 0x1
-_081922B6:
- movs r7, 0x1
- b _08192360
-_081922BA:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081922E2
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- bne _081922E2
- cmp r5, 0xF
- bne _081922DC
- movs r5, 0
- b _081922DE
- .pool
-_081922DC:
- adds r5, 0x1
-_081922DE:
- movs r7, 0x2
- b _08192360
-_081922E2:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08192304
- ldr r0, =gUnknown_0203CD78
- ldr r1, [r0]
- ldrb r0, [r1, 0x10]
- cmp r0, 0
- beq _08192304
- subs r0, 0x1
- strb r0, [r1, 0x10]
- movs r7, 0x3
- b _08192360
- .pool
-_08192304:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08192360
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- mov r3, r10
- lsls r1, r3, 2
- adds r0, r1
- ldr r2, =0x00000d25
- adds r0, r2
- ldrb r3, [r0]
- lsls r0, r3, 29
- mov r12, r1
- cmp r0, 0
- bge _0819233C
- ldr r0, =gUnknown_0203CD78
- ldr r2, [r0]
- ldrb r4, [r2, 0x10]
- subs r1, r4, 0x1
- lsls r0, r3, 27
- lsrs r0, 30
- cmp r1, r0
- bge _0819233C
- adds r0, r4, 0x1
- strb r0, [r2, 0x10]
- movs r7, 0x4
-_0819233C:
- ldr r3, =gSaveBlock2Ptr
- ldr r0, [r3]
- add r0, r12
- ldr r1, =0x00000d25
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- blt _08192360
- ldr r0, =gUnknown_0203CD78
- ldr r3, [r0]
- ldrb r1, [r3, 0x10]
- subs r0, r1, 0x1
- cmp r0, r8
- bge _08192360
- adds r0, r1, 0x1
- strb r0, [r3, 0x10]
- movs r7, 0x4
-_08192360:
- cmp r7, 0x9
- beq _08192366
- b _081924A0
-_08192366:
- ldr r0, =gUnknown_0203CD78
- ldr r3, [r0]
- ldrb r0, [r3, 0x10]
- cmp r0, 0
- beq _081923A0
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- ldr r2, =gTasks
- adds r1, r2
- ldr r2, =gUnknown_0860D1A0
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r0, 1
- lsls r0, 2
- subs r0, 0x1
- ldrb r3, [r3, 0x10]
- adds r0, r3
- b _08192482
- .pool
-_081923A0:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r3, =gTasks
- adds r0, r3
- b _0819249E
- .pool
-_081923B0:
- movs r0, 0x40
- ands r0, r4
- cmp r0, 0
- beq _081923DE
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x1
- bne _081923DE
- cmp r5, 0x10
- bne _081923D8
- ldr r0, =gUnknown_0860D19C
- add r0, r8
- ldrb r5, [r0]
- b _081923DA
- .pool
-_081923D8:
- subs r5, 0x1
-_081923DA:
- movs r7, 0x5
- b _08192446
-_081923DE:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0819240E
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x1
- bne _0819240E
- ldr r0, =gUnknown_0860D19C
- add r0, r8
- ldrb r0, [r0]
- cmp r5, r0
- bne _08192408
- movs r5, 0x10
- b _0819240A
- .pool
-_08192408:
- adds r5, 0x1
-_0819240A:
- movs r7, 0x6
- b _08192446
-_0819240E:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0819242C
- ldr r0, =gUnknown_0203CD78
- ldr r1, [r0]
- ldrb r0, [r1, 0x10]
- cmp r0, 0
- beq _0819242C
- movs r7, 0x7
- subs r0, 0x1
- b _08192444
- .pool
-_0819242C:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08192446
- ldr r0, =gUnknown_0203CD78
- ldr r1, [r0]
- ldrb r0, [r1, 0x10]
- cmp r0, 0x1
- bhi _08192446
- movs r7, 0x8
- adds r0, 0x1
-_08192444:
- strb r0, [r1, 0x10]
-_08192446:
- cmp r7, 0x9
- bne _081924A0
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- ldrb r1, [r0, 0x10]
- cmp r1, 0
- bne _08192470
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- ldr r2, =gTasks
- adds r1, r2
- ldr r2, =gUnknown_0860D1C0
- ldrb r0, [r0, 0x11]
- b _08192482
- .pool
-_08192470:
- cmp r1, 0x2
- bne _08192494
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- ldr r3, =gTasks
- adds r1, r3
- ldr r2, =gUnknown_0860D1C0
- ldrb r0, [r0, 0x12]
-_08192482:
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1, 0xA]
- b _081924A0
- .pool
-_08192494:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r0, r1
-_0819249E:
- strh r5, [r0, 0xA]
-_081924A0:
- cmp r7, 0
- beq _081924CC
- cmp r7, 0x9
- beq _081924CC
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0xA]
- mov r2, r9
- lsls r0, r2, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0xC]
- movs r2, 0x1
- eors r1, r2
- strh r1, [r0, 0xC]
-_081924CC:
- adds r0, r7, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_819221C
-
- thumb_func_start sub_81924E0
-sub_81924E0: @ 81924E0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x58
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x1C]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x20]
- movs r5, 0
- movs r0, 0
- str r0, [sp, 0x28]
- movs r1, 0
- str r1, [sp, 0x2C]
- movs r2, 0
- str r2, [sp, 0x30]
- movs r4, 0
- movs r0, 0x24
- bl AllocZeroed
- mov r8, r0
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r3, [sp, 0x20]
- lsls r0, r3, 2
- adds r0, r1, r0
- ldr r2, =0x00000d24
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- str r0, [sp, 0x24]
- movs r0, 0x1
- ldr r3, [sp, 0x1C]
- ands r0, r3
- cmp r0, 0
- beq _08192538
- movs r5, 0x8
- movs r4, 0x9
- str r4, [sp, 0x28]
- movs r4, 0x2
-_08192538:
- movs r0, 0x2
- ldr r2, [sp, 0x1C]
- ands r0, r2
- cmp r0, 0
- beq _08192548
- movs r3, 0x80
- lsls r3, 1
- str r3, [sp, 0x2C]
-_08192548:
- movs r0, 0x4
- ldr r2, [sp, 0x1C]
- ands r0, r2
- cmp r0, 0
- beq _08192556
- movs r3, 0xA0
- str r3, [sp, 0x30]
-_08192556:
- movs r0, 0x8
- ldr r2, [sp, 0x1C]
- ands r0, r2
- cmp r0, 0
- beq _08192564
- ldr r3, =0xffffff00
- str r3, [sp, 0x2C]
-_08192564:
- movs r0, 0x10
- ldr r2, [sp, 0x1C]
- ands r0, r2
- cmp r0, 0
- beq _08192574
- movs r3, 0xA0
- negs r3, r3
- str r3, [sp, 0x30]
-_08192574:
- ldr r0, =0x000003ff
- ldr r2, [sp, 0x24]
- cmp r2, r0
- bne _08192598
- ldrb r0, [r1, 0x8]
- bl PlayerGenderToFrontTrainerPicId
- lsls r0, 16
- lsrs r0, 16
- b _081925B6
- .pool
-_08192598:
- ldr r0, =0x000003fe
- ldr r3, [sp, 0x24]
- cmp r3, r0
- bne _081925AC
- bl sub_8195910
- b _081925B2
- .pool
-_081925AC:
- ldr r0, [sp, 0x24]
- bl GetFrontierTrainerFrontSpriteId
-_081925B2:
- lsls r0, 24
- lsrs r0, 24
-_081925B6:
- ldr r2, [sp, 0x2C]
- adds r2, 0x30
- ldr r3, [sp, 0x30]
- adds r3, 0x40
- adds r1, r4, 0
- adds r1, 0xC
- str r1, [sp]
- ldr r1, =0x0000ffff
- str r1, [sp, 0x4]
- movs r1, 0x1
- bl sub_818D8AC
- ldr r1, =gUnknown_0203CD78
- ldr r1, [r1]
- adds r1, r5
- strb r0, [r1]
- movs r0, 0x1E
- ldr r4, [sp, 0x1C]
- ands r0, r4
- cmp r0, 0
- beq _081925FC
- ldr r2, =gSprites
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_081925FC:
- movs r7, 0
- ldr r0, [sp, 0x20]
- lsls r0, 1
- str r0, [sp, 0x3C]
- adds r1, r5, 0x2
- ldr r2, [sp, 0x28]
- lsls r2, 24
- str r2, [sp, 0x44]
- ldr r3, [sp, 0x28]
- adds r3, 0x4
- str r3, [sp, 0x40]
- ldr r4, [sp, 0x20]
- adds r0, r4
- ldr r6, =gUnknown_0203CD78
- ldr r2, =gSprites
- mov r10, r2
- adds r4, r1, 0
- lsls r5, r0, 1
- movs r3, 0
- mov r9, r3
-_08192624:
- ldr r0, =0x000003ff
- ldr r1, [sp, 0x24]
- cmp r1, r0
- bne _08192660
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000d64
- adds r0, r2
- adds r0, r5
- ldrh r0, [r0]
- ldr r1, =gUnknown_0860D340
- adds r1, r7, r1
- ldrb r2, [r1]
- ldr r3, [sp, 0x2C]
- orrs r2, r3
- b _081926B0
- .pool
-_08192660:
- ldr r0, =0x000003fe
- ldr r3, [sp, 0x24]
- cmp r3, r0
- bne _08192690
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000d64
- adds r0, r1
- adds r0, r5
- ldrh r0, [r0]
- ldr r1, =gUnknown_0860D340
- adds r1, r7, r1
- ldrb r2, [r1]
- ldr r3, [sp, 0x2C]
- orrs r2, r3
- b _081926B0
- .pool
-_08192690:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r3, =0x00000d64
- adds r0, r3
- adds r0, r5
- ldrh r1, [r0]
- ldr r0, =gUnknown_0203BC8C
- ldr r0, [r0]
- lsls r1, 4
- adds r1, r0
- ldrh r0, [r1]
- ldr r1, =gUnknown_0860D340
- adds r1, r7, r1
- ldrb r2, [r1]
- ldr r1, [sp, 0x2C]
- orrs r2, r1
-_081926B0:
- ldr r1, =gUnknown_0860D343
- adds r1, r7, r1
- ldrb r3, [r1]
- ldr r1, [sp, 0x30]
- adds r3, r1
- mov r1, r9
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0x1
- str r1, [sp, 0x8]
- ldr r1, =sub_8190938
- bl CreateMonIcon
- ldr r1, [r6]
- adds r1, r4
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrb r1, [r0, 0x5]
- movs r2, 0xD
- negs r2, r2
- ands r1, r2
- strb r1, [r0, 0x5]
- movs r0, 0x1E
- ldr r3, [sp, 0x1C]
- ands r0, r3
- cmp r0, 0
- beq _0819270A
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0819270A:
- adds r4, 0x1
- adds r5, 0x2
- adds r7, 0x1
- cmp r7, 0x2
- ble _08192624
- add r0, sp, 0xC
- movs r2, 0
- movs r3, 0x2
- strb r3, [r0, 0x5]
- strb r2, [r0, 0x6]
- strb r2, [r0, 0x7]
- adds r1, r0, 0
- adds r0, r2, 0
- strb r0, [r1, 0x8]
- adds r0, r1, 0
- ldrb r0, [r0, 0x7]
- strb r0, [r1, 0x9]
- adds r0, r1, 0
- strb r3, [r0, 0xA]
- strb r2, [r0, 0xB]
- adds r3, r0, 0
- ldrb r2, [r3, 0xC]
- movs r1, 0x10
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3, 0xC]
- adds r2, r3, 0
- movs r0, 0xE0
- strb r0, [r2, 0xC]
- ldrb r0, [r2, 0xD]
- ands r1, r0
- strb r1, [r2, 0xD]
- adds r1, r2, 0
- movs r0, 0xD0
- strb r0, [r1, 0xD]
- movs r7, 0
- ldr r0, =0x000003ff
- ldr r4, [sp, 0x24]
- cmp r4, r0
- bne _08192784
- ldr r0, =gFacilityClassToTrainerClass
- adds r0, 0x3C
- ldrb r5, [r0]
- b _081927A2
- .pool
-_08192784:
- ldr r0, =0x000003fe
- ldr r1, [sp, 0x24]
- cmp r1, r0
- bne _08192798
- bl sub_8195924
- b _0819279E
- .pool
-_08192798:
- ldr r0, [sp, 0x24]
- bl GetFrontierOpponentClass
-_0819279E:
- lsls r0, 24
- lsrs r5, r0, 24
-_081927A2:
- ldr r2, =gTrainerClassNames
- movs r0, 0xD
- adds r1, r5, 0
- muls r1, r0
- adds r0, r7, r1
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _081927CA
- ldr r3, =gStringVar1
- adds r0, r1, r2
- adds r2, r7, r0
-_081927BA:
- adds r0, r7, r3
- ldrb r1, [r2]
- strb r1, [r0]
- adds r2, 0x1
- adds r7, 0x1
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _081927BA
-_081927CA:
- ldr r5, =gStringVar1
- adds r1, r7, r5
- movs r0, 0
- strb r0, [r1]
- adds r0, r7, 0x1
- adds r0, r5
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, =0x000003ff
- ldr r2, [sp, 0x24]
- cmp r2, r0
- bne _08192800
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r0, r5, 0
- bl StringAppend
- b _08192836
- .pool
-_08192800:
- ldr r0, =0x000003fe
- ldr r3, [sp, 0x24]
- cmp r3, r0
- bne _08192824
- ldr r4, =gStringVar2
- adds r0, r4, 0
- bl sub_8195938
- adds r0, r5, 0
- adds r1, r4, 0
- bl StringAppend
- b _08192836
- .pool
-_08192824:
- ldr r4, =gStringVar2
- ldr r1, [sp, 0x24]
- adds r0, r4, 0
- bl sub_8195898
- adds r0, r5, 0
- adds r1, r4, 0
- bl StringAppend
-_08192836:
- add r0, sp, 0xC
- ldrb r0, [r0, 0x5]
- ldr r4, =gStringVar1
- add r1, sp, 0xC
- ldrb r3, [r1, 0xA]
- adds r1, r4, 0
- movs r2, 0xD0
- bl GetStringCenterAlignXOffsetWithLetterSpacing
- add r1, sp, 0xC
- movs r5, 0
- strb r0, [r1, 0x8]
- str r4, [sp, 0xC]
- adds r0, r1, 0
- add r4, sp, 0x28
- ldrb r4, [r4]
- strb r4, [r0, 0x4]
- ldr r0, [sp, 0x44]
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add r0, sp, 0xC
- movs r1, 0
- movs r2, 0
- bl AddTextPrinter
- add r0, sp, 0xC
- strb r5, [r0, 0xA]
- movs r7, 0
- adds r6, r0, 0
- ldr r1, [sp, 0x3C]
- ldr r2, [sp, 0x20]
- adds r0, r1, r2
- lsls r0, 1
- mov r9, r0
- movs r3, 0xB
- mov r10, r3
-_0819288A:
- ldr r0, =gUnknown_0860D346
- adds r0, r7, r0
- ldrb r0, [r0]
- strb r0, [r6, 0x9]
- ldr r0, =0x000003ff
- ldr r4, [sp, 0x24]
- cmp r4, r0
- bne _081928C0
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- lsls r0, r7, 1
- add r0, r9
- ldr r2, =0x00000d64
- adds r1, r2
- b _081928FA
- .pool
-_081928C0:
- ldr r0, =0x000003fe
- ldr r4, [sp, 0x24]
- cmp r4, r0
- bne _081928E4
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- lsls r0, r7, 1
- add r0, r9
- ldr r2, =0x00000d64
- adds r1, r2
- b _081928FA
- .pool
-_081928E4:
- ldr r4, =gSaveBlock2Ptr
- ldr r1, [r4]
- lsls r0, r7, 1
- add r0, r9
- ldr r2, =0x00000d64
- adds r1, r2
- adds r1, r0
- ldrh r1, [r1]
- ldr r0, =gUnknown_0203BC8C
- ldr r0, [r0]
- lsls r1, 4
-_081928FA:
- adds r1, r0
- ldrh r0, [r1]
- mov r3, r10
- muls r3, r0
- adds r0, r3, 0
- ldr r1, =gSpeciesNames
- adds r0, r1
- str r0, [sp, 0xC]
- adds r0, r7, 0x1
- ldr r4, [sp, 0x28]
- adds r0, r4
- movs r1, 0
- strb r0, [r6, 0x4]
- cmp r7, 0x1
- bne _08192930
- movs r0, 0x7
- strb r0, [r6, 0x8]
- b _08192932
- .pool
-_08192930:
- strb r1, [r6, 0x8]
-_08192932:
- adds r5, r7, 0x1
- ldr r0, [sp, 0x28]
- adds r4, r5, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add r0, sp, 0xC
- movs r1, 0
- movs r2, 0
- bl AddTextPrinter
- adds r7, r5, 0
- cmp r7, 0x2
- ble _0819288A
- ldr r4, [sp, 0x40]
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =0x000003fe
- ldr r1, [sp, 0x24]
- cmp r1, r0
- bne _08192980
- ldr r0, =gBattleDomePotentialPointers
- ldr r0, [r0, 0x40]
- b _0819298A
- .pool
-_08192980:
- ldr r0, =gBattleDomePotentialPointers
- ldr r2, [sp, 0x20]
- lsls r1, r2, 2
- adds r1, r0
- ldr r0, [r1]
-_0819298A:
- str r0, [sp, 0xC]
- add r1, sp, 0xC
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1, 0x5]
- adds r0, r1, 0
- add r3, sp, 0x40
- ldrb r3, [r3]
- strb r3, [r0, 0x4]
- strb r2, [r0, 0x8]
- movs r1, 0x4
- strb r1, [r0, 0x7]
- strb r1, [r0, 0x9]
- movs r1, 0
- bl AddTextPrinter
- movs r7, 0
- ldr r3, =gUnknown_0860B358
-_081929AE:
- movs r5, 0
- adds r4, r7, 0x1
- str r4, [sp, 0x38]
- lsls r0, r7, 1
- str r0, [sp, 0x34]
- lsls r2, r7, 4
-_081929BA:
- movs r6, 0
- lsls r1, r5, 1
- mov r10, r1
- mov r4, r8
- mov r9, r2
-_081929C4:
- ldr r0, =0x000003fe
- ldr r1, [sp, 0x24]
- cmp r1, r0
- bne _08192A00
- lsls r0, r7, 24
- lsls r1, r5, 24
- lsrs r0, 24
- lsrs r1, 24
- str r2, [sp, 0x48]
- str r3, [sp, 0x4C]
- bl sub_81A5060
- lsls r0, 16
- lsrs r0, 12
- adds r0, r6, r0
- ldr r3, [sp, 0x4C]
- adds r0, r3
- ldrh r1, [r4]
- ldrb r0, [r0]
- adds r1, r0
- strh r1, [r4]
- ldr r2, [sp, 0x48]
- b _08192A58
- .pool
-_08192A00:
- ldr r0, =0x000003ff
- ldr r1, [sp, 0x24]
- cmp r1, r0
- bne _08192A20
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000efc
- adds r0, r1
- add r0, r9
- b _08192A48
- .pool
-_08192A20:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- mov r12, r0
- ldr r0, [sp, 0x3C]
- ldr r1, [sp, 0x20]
- adds r0, r1
- str r0, [sp, 0x50]
- lsls r0, 1
- ldr r1, [sp, 0x34]
- adds r0, r1, r0
- ldr r1, =0x00000d64
- add r1, r12
- adds r1, r0
- ldrh r0, [r1]
- ldr r1, =gUnknown_0203BC8C
- ldr r1, [r1]
- lsls r0, 4
- adds r0, r1
- adds r0, 0x2
- add r0, r10
-_08192A48:
- ldrh r0, [r0]
- lsls r0, 4
- adds r0, r6, r0
- adds r0, r3
- ldrh r1, [r4]
- ldrb r0, [r0]
- adds r1, r0
- strh r1, [r4]
-_08192A58:
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0xF
- ble _081929C4
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _081929BA
- ldr r7, [sp, 0x38]
- cmp r7, 0x2
- ble _081929AE
- movs r7, 0
- ldr r2, =gBattleDomeOpponentStylePointers
- mov r9, r2
- ldr r3, =gUnknown_0860C988
- mov r10, r3
-_08192A78:
- movs r4, 0
- movs r6, 0
- movs r5, 0
- mov r3, r8
- lsls r0, r7, 4
- mov r1, r10
- adds r2, r0, r1
-_08192A86:
- ldrb r0, [r2]
- cmp r0, 0
- beq _08192A9E
- adds r4, 0x1
- movs r1, 0
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _08192A9E
- ldrb r1, [r2]
- cmp r0, r1
- blt _08192A9E
- adds r6, 0x1
-_08192A9E:
- adds r3, 0x2
- adds r2, 0x1
- adds r5, 0x1
- cmp r5, 0xF
- ble _08192A86
- cmp r4, r6
- beq _08192AB2
- adds r7, 0x1
- cmp r7, 0x1E
- bls _08192A78
-_08192AB2:
- lsls r0, r7, 2
- add r0, r9
- ldr r0, [r0]
- str r0, [sp, 0xC]
- add r0, sp, 0xC
- movs r1, 0x14
- strb r1, [r0, 0x7]
- strb r1, [r0, 0x9]
- movs r1, 0
- movs r2, 0
- bl AddTextPrinter
- movs r1, 0
- mov r0, r8
- adds r0, 0x22
-_08192AD0:
- strh r1, [r0]
- subs r0, 0x2
- cmp r0, r8
- bge _08192AD0
- ldr r2, [sp, 0x24]
- ldr r3, =0xfffffc02
- adds r0, r2, r3
- cmp r0, 0x1
- bls _08192AE4
- b _08192C24
-_08192AE4:
- movs r7, 0
- movs r4, 0
- mov r9, r4
-_08192AEA:
- movs r5, 0
- mov r4, r8
- mov r6, r9
-_08192AF0:
- ldr r0, =0x000003fe
- ldr r1, [sp, 0x24]
- cmp r1, r0
- bne _08192B24
- lsls r1, r5, 24
- lsrs r1, 24
- lsrs r0, r6, 24
- bl sub_81A50F0
- lsls r0, 24
- lsrs r0, 24
- b _08192B34
- .pool
-_08192B24:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r7, 4
- adds r1, r5, r1
- ldr r2, =0x00000f04
- adds r0, r2
- adds r0, r1
- ldrb r0, [r0]
-_08192B34:
- strh r0, [r4]
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x5
- ble _08192AF0
- mov r3, r8
- ldrh r0, [r3]
- ldrh r4, [r3, 0xC]
- adds r0, r4
- strh r0, [r3, 0xC]
- movs r5, 0
- mov r4, r8
-_08192B4C:
- ldr r0, =0x000003fe
- ldr r1, [sp, 0x24]
- cmp r1, r0
- bne _08192B70
- mov r2, r9
- lsrs r0, r2, 24
- bl sub_81A50B0
- lsls r0, 24
- lsrs r2, r0, 24
- b _08192B7E
- .pool
-_08192B70:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r7, 4
- adds r0, r1
- ldr r3, =0x00000f0a
- adds r0, r3
- ldrb r2, [r0]
-_08192B7E:
- ldr r1, =gNatureStatTable
- lsls r0, r2, 2
- adds r0, r2
- adds r0, r5, r0
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- ble _08192BB4
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- movs r0, 0x6E
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- ldrh r1, [r4, 0xE]
- adds r1, r0
- strh r1, [r4, 0xE]
- b _08192BDC
- .pool
-_08192BB4:
- cmp r0, 0
- bge _08192BD4
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- movs r0, 0x5A
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- ldrh r1, [r4, 0xE]
- adds r1, r0
- strh r1, [r4, 0xE]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- b _08192BDC
-_08192BD4:
- ldrh r0, [r4, 0x2]
- ldrh r3, [r4, 0xE]
- adds r0, r3
- strh r0, [r4, 0xE]
-_08192BDC:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x4
- ble _08192B4C
- movs r4, 0x80
- lsls r4, 17
- add r9, r4
- adds r7, 0x1
- cmp r7, 0x2
- bgt _08192BF2
- b _08192AEA
-_08192BF2:
- movs r5, 0
- mov r1, r8
- movs r7, 0x5
-_08192BF8:
- movs r2, 0xC
- ldrsh r0, [r1, r2]
- adds r5, r0
- adds r1, 0x2
- subs r7, 0x1
- cmp r7, 0
- bge _08192BF8
- movs r6, 0x64
- mov r4, r8
- movs r7, 0x5
-_08192C0C:
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- muls r0, r6
- adds r1, r5, 0
- bl __divsi3
- strh r0, [r4]
- adds r4, 0x2
- subs r7, 0x1
- cmp r7, 0
- bge _08192C0C
- b _08192D70
-_08192C24:
- ldr r4, =gUnknown_0203BC8C
- mov r10, r4
- ldr r1, [sp, 0x3C]
- ldr r2, [sp, 0x20]
- adds r0, r1, r2
- lsls r0, 1
- mov r9, r0
- movs r7, 0x2
-_08192C34:
- ldr r3, =gSaveBlock2Ptr
- ldr r0, [r3]
- ldr r4, =0x00000d64
- adds r0, r4
- add r0, r9
- ldrh r0, [r0]
- mov r2, r10
- ldr r1, [r2]
- lsls r0, 4
- adds r0, r1
- ldrb r2, [r0, 0xB]
- movs r6, 0
- movs r4, 0
- movs r3, 0x1
- mov r1, r8
- movs r5, 0x5
-_08192C54:
- strh r4, [r1]
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _08192C60
- adds r6, 0x1
-_08192C60:
- asrs r2, 1
- adds r1, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _08192C54
- movs r0, 0xFF
- lsls r0, 1
- adds r1, r6, 0
- bl __divsi3
- adds r6, r0, 0
- ldr r3, =gSaveBlock2Ptr
- ldr r0, [r3]
- ldr r4, =0x00000d64
- adds r0, r4
- add r0, r9
- ldrh r0, [r0]
- mov r2, r10
- ldr r1, [r2]
- lsls r0, 4
- adds r0, r1
- ldrb r2, [r0, 0xB]
- movs r3, 0x1
- mov r1, r8
- movs r5, 0x5
-_08192C92:
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _08192C9C
- strh r6, [r1]
-_08192C9C:
- asrs r2, 1
- adds r1, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _08192C92
- mov r3, r8
- ldrh r0, [r3]
- ldrh r4, [r3, 0xC]
- adds r0, r4
- strh r0, [r3, 0xC]
- movs r5, 0
- mov r4, r8
-_08192CB4:
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, =0x00000d64
- adds r0, r2
- add r0, r9
- ldrh r0, [r0]
- mov r3, r10
- ldr r1, [r3]
- lsls r0, 4
- adds r0, r1
- ldrb r2, [r0, 0xC]
- lsls r0, r2, 2
- adds r0, r2
- adds r0, r5, r0
- ldr r1, =gNatureStatTable
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- ble _08192D04
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- movs r0, 0x6E
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- ldrh r1, [r4, 0xE]
- adds r1, r0
- strh r1, [r4, 0xE]
- b _08192D2C
- .pool
-_08192D04:
- cmp r0, 0
- bge _08192D24
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- movs r0, 0x5A
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- ldrh r1, [r4, 0xE]
- adds r1, r0
- strh r1, [r4, 0xE]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- b _08192D2C
-_08192D24:
- ldrh r0, [r4, 0x2]
- ldrh r1, [r4, 0xE]
- adds r0, r1
- strh r0, [r4, 0xE]
-_08192D2C:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x4
- ble _08192CB4
- movs r2, 0x2
- add r9, r2
- subs r7, 0x1
- cmp r7, 0
- blt _08192D40
- b _08192C34
-_08192D40:
- movs r5, 0
- mov r1, r8
- movs r7, 0x5
-_08192D46:
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- adds r5, r0
- adds r1, 0x2
- subs r7, 0x1
- cmp r7, 0
- bge _08192D46
- movs r6, 0x64
- mov r4, r8
- movs r7, 0x5
-_08192D5A:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- muls r0, r6
- adds r1, r5, 0
- bl __divsi3
- strh r0, [r4]
- adds r4, 0x2
- subs r7, 0x1
- cmp r7, 0
- bge _08192D5A
-_08192D70:
- movs r7, 0
- movs r5, 0
- movs r6, 0
- mov r4, r8
- mov r10, r8
- mov r9, r8
-_08192D7C:
- movs r2, 0
- ldrsh r1, [r4, r2]
- cmp r1, 0x1D
- ble _08192DDE
- cmp r7, 0x2
- bne _08192DD4
- mov r3, r8
- movs r0, 0xC
- ldrsh r3, [r3, r0]
- mov r12, r3
- cmp r12, r1
- bge _08192DC6
- mov r2, r8
- ldrh r2, [r2, 0xE]
- add r3, sp, 0x54
- strh r2, [r3]
- mov r2, r8
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- cmp r0, r1
- bge _08192DBA
- cmp r12, r0
- bge _08192DB4
- add r0, sp, 0x54
- ldrh r0, [r0]
- strh r0, [r2, 0xC]
- strh r6, [r2, 0xE]
- b _08192DDE
-_08192DB4:
- mov r1, r8
- strh r6, [r1, 0xE]
- b _08192DDE
-_08192DBA:
- add r2, sp, 0x54
- ldrh r3, [r2]
- mov r2, r8
- strh r3, [r2, 0xC]
- strh r6, [r2, 0xE]
- b _08192DDE
-_08192DC6:
- mov r3, r8
- movs r2, 0xE
- ldrsh r0, [r3, r2]
- cmp r0, r1
- bge _08192DDE
- strh r6, [r3, 0xE]
- b _08192DDE
-_08192DD4:
- mov r3, r9
- strh r6, [r3, 0xC]
- movs r0, 0x2
- add r9, r0
- adds r7, 0x1
-_08192DDE:
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08192E64
- cmp r5, 0x2
- bne _08192E5A
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- bgt _08192E18
- cmp r0, 0x1
- bne _08192E64
- mov r3, r8
- movs r1, 0x10
- ldrsh r0, [r3, r1]
- lsls r0, 1
- add r0, r8
- movs r2, 0x18
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _08192E22
- movs r1, 0x12
- ldrsh r0, [r3, r1]
- lsls r0, 1
- add r0, r8
- movs r2, 0x18
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _08192E22
-_08192E18:
- mov r3, r8
- ldrh r0, [r3, 0x12]
- strh r0, [r3, 0x10]
- strh r6, [r3, 0x12]
- b _08192E64
-_08192E22:
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _08192E64
- mov r2, r8
- movs r3, 0x10
- ldrsh r0, [r2, r3]
- lsls r0, 1
- add r0, r8
- movs r1, 0x18
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08192E44
- ldrh r0, [r2, 0x12]
- strh r0, [r2, 0x10]
- strh r6, [r2, 0x12]
- b _08192E64
-_08192E44:
- mov r2, r8
- movs r3, 0x12
- ldrsh r0, [r2, r3]
- lsls r0, 1
- add r0, r8
- movs r1, 0x18
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08192E64
- strh r6, [r2, 0x12]
- b _08192E64
-_08192E5A:
- mov r2, r10
- strh r6, [r2, 0x10]
- movs r3, 0x2
- add r10, r3
- adds r5, 0x1
-_08192E64:
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x5
- ble _08192D7C
- cmp r7, 0x2
- bne _08192E8C
- ldr r0, =gUnknown_0860D349
- mov r4, r8
- movs r1, 0xC
- ldrsh r2, [r4, r1]
- adds r0, r2, r0
- movs r3, 0xE
- ldrsh r1, [r4, r3]
- subs r1, 0x1
- subs r1, r2
- ldrb r0, [r0]
- adds r7, r1, r0
- b _08192ED2
- .pool
-_08192E8C:
- cmp r7, 0x1
- bne _08192E9C
- mov r4, r8
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- adds r7, r0, 0
- adds r7, 0xF
- b _08192ED2
-_08192E9C:
- cmp r5, 0x2
- bne _08192EC0
- ldr r0, =gUnknown_0860D349
- mov r3, r8
- movs r4, 0x10
- ldrsh r2, [r3, r4]
- adds r0, r2, r0
- movs r4, 0x12
- ldrsh r1, [r3, r4]
- subs r1, 0x1
- subs r1, r2
- ldrb r0, [r0]
- adds r1, r0
- adds r7, r1, 0
- adds r7, 0x15
- b _08192ED2
- .pool
-_08192EC0:
- cmp r5, 0x1
- bne _08192ED0
- mov r1, r8
- movs r2, 0x10
- ldrsh r0, [r1, r2]
- adds r7, r0, 0
- adds r7, 0x24
- b _08192ED2
-_08192ED0:
- movs r7, 0x2A
-_08192ED2:
- lsls r0, r7, 2
- ldr r3, =gBattleDomeOpponentStatsPointers
- adds r0, r3
- ldr r0, [r0]
- str r0, [sp, 0xC]
- add r0, sp, 0xC
- movs r1, 0x24
- strb r1, [r0, 0x7]
- strb r1, [r0, 0x9]
- movs r1, 0
- movs r2, 0
- bl AddTextPrinter
- mov r0, r8
- bl Free
- add sp, 0x58
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81924E0
-
- thumb_func_start sub_8192F08
-sub_8192F08: @ 8192F08
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r1, [sp]
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0
- str r0, [sp, 0x4]
- mov r8, r0
- ldr r2, =gUnknown_0860D3C4
- lsls r0, r7, 1
- adds r0, r7
- adds r1, r0, r2
- ldrb r6, [r1]
- adds r1, r2, 0x1
- adds r0, r1
- ldrb r0, [r0]
- adds r0, r6, r0
- adds r3, r2, 0
- cmp r6, r0
- bge _08192FD4
- ldr r5, =gSaveBlock2Ptr
- ldr r1, =0x000003ff
- mov r10, r1
- ldr r2, =0x000003fe
- mov r9, r2
-_08192F42:
- ldr r0, =gUnknown_0860D3B4
- adds r0, r6, r0
- ldrb r4, [r0]
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r0, r1
- ldr r2, =0x00000d25
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- blt _08192FBE
- ldr r0, [sp]
- add r0, r8
- strb r4, [r0]
- ldr r2, [r5]
- adds r0, r2, r1
- ldr r1, =0x00000d24
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r0, 22
- lsrs r0, r1, 22
- cmp r0, r10
- bne _08192F9C
- ldr r0, =gStringVar1
- adds r1, r2, 0
- bl StringCopy
- b _08192FB8
- .pool
-_08192F9C:
- lsrs r0, r1, 22
- cmp r0, r9
- bne _08192FB0
- ldr r0, =gStringVar1
- bl sub_8195938
- b _08192FB8
- .pool
-_08192FB0:
- lsrs r1, 22
- ldr r0, =gStringVar1
- bl sub_8195898
-_08192FB8:
- movs r2, 0x1
- add r8, r2
- ldr r3, =gUnknown_0860D3C4
-_08192FBE:
- adds r6, 0x1
- lsls r1, r7, 1
- adds r1, r7
- adds r0, r1, r3
- ldrb r2, [r0]
- adds r0, r3, 0x1
- adds r1, r0
- ldrb r0, [r1]
- adds r2, r0
- cmp r6, r2
- blt _08192F42
-_08192FD4:
- mov r5, r8
- cmp r5, 0x2
- bne _08192FE8
- movs r0, 0
- b _0819313C
- .pool
-_08192FE8:
- mov r12, r3
- lsls r3, r7, 1
- adds r0, r3, r7
- mov r2, r12
- adds r1, r0, r2
- ldrb r6, [r1]
- mov r1, r12
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- adds r0, r6, r0
- str r3, [sp, 0x8]
- cmp r6, r0
- blt _08193006
- b _08193126
-_08193006:
- ldr r5, =gSaveBlock2Ptr
- mov r10, r5
- ldr r0, =0x00000d25
- mov r9, r0
-_0819300E:
- ldr r0, =gUnknown_0860D3B4
- adds r0, r6, r0
- ldrb r4, [r0]
- mov r1, r10
- ldr r0, [r1]
- lsls r2, r4, 2
- str r2, [sp, 0xC]
- adds r0, r2
- add r0, r9
- ldrb r2, [r0]
- lsls r0, r2, 29
- cmp r0, 0
- bge _08193100
- lsls r2, 27
- adds r1, r3, r7
- mov r0, r12
- adds r0, 0x2
- adds r1, r0
- lsrs r2, 30
- ldrb r1, [r1]
- cmp r2, r1
- bcc _08193100
- ldr r0, [sp]
- add r0, r8
- strb r4, [r0]
- movs r5, 0x1
- add r8, r5
- mov r0, r10
- ldr r3, [r0]
- ldr r5, [sp, 0xC]
- adds r2, r3, r5
- adds r0, r2, 0
- add r0, r9
- ldrb r5, [r0]
- mov r12, r5
- mov r0, r12
- lsls r0, 27
- lsrs r0, 30
- cmp r0, r1
- bne _081930BC
- lsls r4, 1
- movs r1, 0xEC
- lsls r1, 4
- adds r0, r3, r1
- adds r0, r4
- ldrh r1, [r0]
- movs r0, 0xD
- muls r1, r0
- ldr r0, =gMoveNames
- adds r1, r0
- ldr r0, =gStringVar2
- bl StringCopy
- mov r2, r10
- ldr r1, [r2]
- ldr r5, [sp, 0xC]
- adds r0, r1, r5
- add r0, r9
- ldrb r0, [r0]
- lsls r2, r0, 24
- lsrs r0, r2, 29
- lsls r0, 1
- str r0, [sp, 0x4]
- movs r0, 0xEC
- lsls r0, 4
- adds r1, r0
- adds r1, r4
- ldrh r0, [r1]
- cmp r0, 0
- bne _08193100
- lsrs r0, r2, 29
- cmp r0, 0
- bne _08193100
- movs r1, 0x4
- str r1, [sp, 0x4]
- b _08193100
- .pool
-_081930BC:
- ldr r5, =0x00000d24
- adds r0, r2, r5
- ldrh r0, [r0]
- lsls r1, r0, 22
- ldr r0, =0xffc00000
- cmp r1, r0
- bne _081930E0
- ldr r0, =gStringVar1
- adds r1, r3, 0
- bl StringCopy
- b _08193100
- .pool
-_081930E0:
- ldr r0, =0xff800000
- cmp r1, r0
- bne _081930F8
- ldr r0, =gStringVar1
- bl sub_8195938
- b _08193100
- .pool
-_081930F8:
- lsrs r1, 22
- ldr r0, =gStringVar1
- bl sub_8195898
-_08193100:
- mov r0, r8
- cmp r0, 0x2
- beq _08193126
- adds r6, 0x1
- ldr r1, =gUnknown_0860D3C4
- mov r12, r1
- ldr r3, [sp, 0x8]
- adds r1, r3, r7
- mov r2, r12
- adds r0, r1, r2
- ldrb r2, [r0]
- mov r0, r12
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- adds r2, r0
- cmp r6, r2
- bge _08193126
- b _0819300E
-_08193126:
- cmp r7, 0xE
- beq _08193138
- ldr r0, [sp, 0x4]
- adds r0, 0x1
- b _0819313C
- .pool
-_08193138:
- ldr r0, [sp, 0x4]
- adds r0, 0x2
-_0819313C:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8192F08
-
- thumb_func_start sub_819314C
-sub_819314C: @ 819314C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x80
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x34]
- lsls r1, 24
- lsrs r6, r1, 24
- movs r0, 0
- str r0, [sp, 0x3C]
- movs r7, 0
- movs r1, 0
- str r1, [sp, 0x40]
- movs r2, 0
- str r2, [sp, 0x44]
- mov r9, r2
- movs r0, 0x1
- ldr r3, [sp, 0x34]
- ands r0, r3
- cmp r0, 0
- beq _08193186
- movs r7, 0x8
- str r7, [sp, 0x3C]
- movs r7, 0x9
- movs r0, 0x2
- mov r9, r0
-_08193186:
- movs r0, 0x2
- ldr r1, [sp, 0x34]
- ands r0, r1
- cmp r0, 0
- beq _08193196
- movs r2, 0x80
- lsls r2, 1
- str r2, [sp, 0x40]
-_08193196:
- movs r0, 0x4
- ldr r3, [sp, 0x34]
- ands r0, r3
- cmp r0, 0
- beq _081931A4
- movs r0, 0xA0
- str r0, [sp, 0x44]
-_081931A4:
- movs r0, 0x8
- ldr r1, [sp, 0x34]
- ands r0, r1
- cmp r0, 0
- beq _081931B2
- ldr r2, =0xffffff00
- str r2, [sp, 0x40]
-_081931B2:
- movs r0, 0x10
- ldr r3, [sp, 0x34]
- ands r0, r3
- cmp r0, 0
- beq _081931C2
- movs r0, 0xA0
- negs r0, r0
- str r0, [sp, 0x44]
-_081931C2:
- ldr r4, =gUnknown_0203CD78
- ldr r1, [r4]
- adds r1, 0x11
- adds r0, r6, 0
- bl sub_8192F08
- str r0, [sp, 0x38]
- movs r5, 0
- mov r1, sp
- adds r1, 0x1C
- str r1, [sp, 0x48]
- mov r2, sp
- adds r2, 0x24
- str r2, [sp, 0x4C]
- lsls r1, r6, 1
- mov r3, sp
- adds r3, 0x2C
- str r3, [sp, 0x50]
- ldr r0, [sp, 0x40]
- adds r0, 0x30
- mov r8, r0
- ldr r2, [sp, 0x44]
- adds r2, 0x58
- str r2, [sp, 0x78]
- movs r3, 0xC
- add r3, r9
- mov r10, r3
- ldr r0, [sp, 0x40]
- adds r0, 0xC0
- str r0, [sp, 0x7C]
- mov r2, r9
- adds r2, 0xD
- str r2, [sp, 0x74]
- ldr r3, [sp, 0x3C]
- adds r3, 0x1
- mov r9, r3
- ldr r0, [sp, 0x3C]
- adds r0, 0x2
- str r0, [sp, 0x54]
- ldr r2, [sp, 0x3C]
- adds r2, 0x5
- str r2, [sp, 0x5C]
- adds r3, r7, 0
- adds r3, 0x8
- str r3, [sp, 0x6C]
- adds r0, r7, 0x6
- str r0, [sp, 0x64]
- adds r2, r7, 0x7
- str r2, [sp, 0x68]
- lsls r3, r6, 2
- str r3, [sp, 0x58]
- adds r0, r7, 0x5
- str r0, [sp, 0x60]
- ldr r0, [r4]
- adds r0, 0x11
- mov r12, r0
- ldr r0, =gSaveBlock2Ptr
- ldr r4, [r0]
- ldr r0, =gUnknown_0860D3C6
- movs r3, 0
- adds r1, r6
- adds r1, r0
- ldrb r6, [r1]
-_08193240:
- ldr r1, [sp, 0x48]
- adds r2, r3, r1
- mov r7, r12
- adds r0, r7, r5
- ldrb r0, [r0]
- str r0, [r2]
- ldr r7, [sp, 0x4C]
- adds r1, r3, r7
- lsls r0, 2
- adds r0, r4, r0
- ldr r7, =0x00000d24
- adds r0, r7
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- str r0, [r1]
- ldr r0, [r2]
- lsls r0, 2
- adds r0, r4, r0
- ldr r1, =0x00000d25
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 27
- lsrs r0, 30
- cmp r0, r6
- bhi _0819329C
- lsls r0, r1, 29
- cmp r0, 0
- bge _0819329C
- ldr r2, [sp, 0x50]
- adds r1, r3, r2
- movs r0, 0x1
- b _081932A2
- .pool
-_0819329C:
- ldr r7, [sp, 0x50]
- adds r1, r3, r7
- movs r0, 0
-_081932A2:
- str r0, [r1]
- adds r3, 0x4
- adds r5, 0x1
- cmp r5, 0x1
- ble _08193240
- ldr r1, [sp, 0x24]
- ldr r0, =0x000003ff
- cmp r1, r0
- bne _081932D4
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bl PlayerGenderToFrontTrainerPicId
- lsls r0, 16
- lsrs r0, 16
- mov r2, r8
- ldr r3, [sp, 0x78]
- mov r1, r10
- str r1, [sp]
- b _081932F8
- .pool
-_081932D4:
- ldr r0, =0x000003fe
- cmp r1, r0
- bne _081932E4
- bl sub_8195910
- b _081932EC
- .pool
-_081932E4:
- lsls r0, r1, 16
- lsrs r0, 16
- bl GetFrontierTrainerFrontSpriteId
-_081932EC:
- lsls r0, 24
- lsrs r0, 24
- mov r2, r8
- ldr r3, [sp, 0x78]
- mov r7, r10
- str r7, [sp]
-_081932F8:
- ldr r1, =0x0000ffff
- str r1, [sp, 0x4]
- movs r1, 0x1
- bl sub_818D8AC
- ldr r1, =gUnknown_0203CD78
- ldr r1, [r1]
- ldr r2, [sp, 0x3C]
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x1E
- ldr r3, [sp, 0x34]
- ands r0, r3
- cmp r0, 0
- beq _08193334
- ldr r2, =gSprites
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- ldr r7, [sp, 0x3C]
- adds r0, r7
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_08193334:
- ldr r0, [sp, 0x2C]
- cmp r0, 0
- beq _0819335A
- ldr r2, =gSprites
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- ldr r1, [sp, 0x3C]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x5]
- movs r1, 0xF
- ands r1, r2
- movs r2, 0x30
- orrs r1, r2
- strb r1, [r0, 0x5]
-_0819335A:
- ldr r2, [sp, 0x4C]
- ldr r1, [r2, 0x4]
- ldr r0, =0x000003ff
- cmp r1, r0
- bne _08193388
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bl PlayerGenderToFrontTrainerPicId
- lsls r0, 16
- lsrs r0, 16
- b _081933B0
- .pool
-_08193388:
- ldr r0, =0x000003fe
- cmp r1, r0
- bne _081933A4
- bl sub_8195910
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp, 0x7C]
- ldr r3, [sp, 0x78]
- ldr r1, [sp, 0x74]
- str r1, [sp]
- b _081933B8
- .pool
-_081933A4:
- lsls r0, r1, 16
- lsrs r0, 16
- bl GetFrontierTrainerFrontSpriteId
- lsls r0, 24
- lsrs r0, 24
-_081933B0:
- ldr r2, [sp, 0x7C]
- ldr r3, [sp, 0x78]
- ldr r7, [sp, 0x74]
- str r7, [sp]
-_081933B8:
- ldr r1, =0x0000ffff
- str r1, [sp, 0x4]
- movs r1, 0x1
- bl sub_818D8AC
- ldr r1, =gUnknown_0203CD78
- ldr r1, [r1]
- add r1, r9
- strb r0, [r1]
- movs r0, 0x1E
- ldr r1, [sp, 0x34]
- ands r0, r1
- cmp r0, 0
- beq _081933F0
- ldr r2, =gSprites
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- add r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_081933F0:
- ldr r2, [sp, 0x50]
- ldr r0, [r2, 0x4]
- cmp r0, 0
- beq _08193416
- ldr r2, =gSprites
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- add r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x5]
- movs r1, 0xF
- ands r1, r2
- movs r2, 0x30
- orrs r1, r2
- strb r1, [r0, 0x5]
-_08193416:
- movs r5, 0
- ldr r3, [sp, 0x38]
- lsls r3, 2
- str r3, [sp, 0x70]
- mov r8, r5
- ldr r6, =gUnknown_0203CD78
- ldr r7, =gSprites
- ldr r4, [sp, 0x54]
- mov r9, r5
- movs r0, 0x1
- mov r10, r0
-_0819342C:
- ldr r1, [sp, 0x24]
- ldr r0, =0x000003ff
- cmp r1, r0
- bne _08193464
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r1, [sp, 0x1C]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- add r0, r9
- ldr r1, =0x00000d64
- adds r2, r1
- adds r2, r0
- ldrh r0, [r2]
- b _081934B0
- .pool
-_08193464:
- ldr r0, =0x000003fe
- cmp r1, r0
- bne _08193490
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r1, [sp, 0x1C]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- add r0, r9
- ldr r1, =0x00000d64
- adds r2, r1
- adds r2, r0
- ldrh r0, [r2]
- b _081934B0
- .pool
-_08193490:
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r1, [sp, 0x1C]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- add r0, r9
- ldr r1, =0x00000d64
- adds r2, r1
- adds r2, r0
- ldrh r1, [r2]
- ldr r0, =gUnknown_0203BC8C
- ldr r0, [r0]
- lsls r1, 4
- adds r1, r0
- ldrh r0, [r1]
-_081934B0:
- ldr r1, =gUnknown_0860D3A8
- adds r1, r5, r1
- ldrb r2, [r1]
- ldr r3, [sp, 0x40]
- orrs r2, r3
- ldr r1, =gUnknown_0860D3AB
- adds r1, r5, r1
- ldrb r3, [r1]
- ldr r1, [sp, 0x44]
- adds r3, r1
- mov r1, r8
- str r1, [sp]
- str r1, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- ldr r1, =sub_8190938
- bl CreateMonIcon
- ldr r1, [r6]
- adds r1, r4
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrb r1, [r0, 0x5]
- movs r3, 0xD
- negs r3, r3
- adds r2, r3, 0
- ands r1, r2
- strb r1, [r0, 0x5]
- movs r0, 0x1E
- ldr r1, [sp, 0x34]
- ands r0, r1
- cmp r0, 0
- beq _08193516
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_08193516:
- ldr r0, [sp, 0x2C]
- cmp r0, 0
- beq _08193548
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- movs r2, 0x30
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- mov r2, r10
- strh r2, [r0, 0x34]
-_08193548:
- adds r4, 0x1
- movs r3, 0x2
- add r9, r3
- adds r5, 0x1
- cmp r5, 0x2
- bgt _08193556
- b _0819342C
-_08193556:
- movs r5, 0
- ldr r6, =gUnknown_0203CD78
- ldr r7, =gSprites
- mov r8, r7
- ldr r4, [sp, 0x5C]
- mov r9, r5
- movs r7, 0
-_08193564:
- ldr r0, [sp, 0x4C]
- ldr r1, [r0, 0x4]
- ldr r0, =0x000003ff
- cmp r1, r0
- bne _081935AC
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r3, [sp, 0x48]
- ldr r1, [r3, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- add r0, r9
- ldr r1, =0x00000d64
- adds r2, r1
- adds r2, r0
- ldrh r0, [r2]
- b _081935FA
- .pool
-_081935AC:
- ldr r0, =0x000003fe
- cmp r1, r0
- bne _081935D8
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r0, [sp, 0x48]
- ldr r1, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- add r0, r9
- ldr r1, =0x00000d64
- adds r2, r1
- adds r2, r0
- ldrh r0, [r2]
- b _081935FA
- .pool
-_081935D8:
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r0, [sp, 0x48]
- ldr r1, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- add r0, r9
- ldr r1, =0x00000d64
- adds r2, r1
- adds r2, r0
- ldrh r1, [r2]
- ldr r0, =gUnknown_0203BC8C
- ldr r0, [r0]
- lsls r1, 4
- adds r1, r0
- ldrh r0, [r1]
-_081935FA:
- ldr r1, =gUnknown_0860D3AE
- adds r1, r5, r1
- ldrb r2, [r1]
- ldr r3, [sp, 0x40]
- orrs r2, r3
- ldr r1, =gUnknown_0860D3B1
- adds r1, r5, r1
- ldrb r3, [r1]
- ldr r1, [sp, 0x44]
- adds r3, r1
- str r7, [sp]
- str r7, [sp, 0x4]
- movs r1, 0x1
- str r1, [sp, 0x8]
- ldr r1, =sub_8190938
- bl CreateMonIcon
- ldr r1, [r6]
- adds r1, r4
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldrb r1, [r0, 0x5]
- movs r3, 0xD
- negs r3, r3
- adds r2, r3, 0
- ands r1, r2
- strb r1, [r0, 0x5]
- movs r0, 0x1E
- ldr r1, [sp, 0x34]
- ands r0, r1
- cmp r0, 0
- beq _0819365E
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0819365E:
- ldr r2, [sp, 0x50]
- ldr r0, [r2, 0x4]
- cmp r0, 0
- beq _08193692
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- movs r2, 0x30
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- movs r1, 0x1
- strh r1, [r0, 0x34]
-_08193692:
- adds r4, 0x1
- movs r3, 0x2
- add r9, r3
- adds r5, 0x1
- cmp r5, 0x2
- bgt _081936A0
- b _08193564
-_081936A0:
- add r0, sp, 0xC
- movs r5, 0
- strb r5, [r0, 0x6]
- adds r1, r0, 0
- movs r0, 0x2
- strb r0, [r1, 0x7]
- adds r0, r1, 0
- ldrb r0, [r0, 0x6]
- strb r0, [r1, 0x8]
- adds r0, r1, 0
- ldrb r0, [r0, 0x7]
- strb r0, [r1, 0x9]
- adds r0, r1, 0
- strb r5, [r0, 0xA]
- strb r5, [r0, 0xB]
- adds r3, r0, 0
- ldrb r2, [r3, 0xC]
- movs r1, 0x10
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3, 0xC]
- adds r2, r3, 0
- movs r0, 0xE0
- strb r0, [r2, 0xC]
- ldrb r0, [r2, 0xD]
- ands r1, r0
- strb r1, [r2, 0xD]
- adds r1, r2, 0
- movs r0, 0xD0
- strb r0, [r1, 0xD]
- ldr r4, =gStringVar4
- ldr r0, =gBattleDomeWinStringsPointers
- ldr r7, [sp, 0x70]
- adds r0, r7, r0
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringExpandPlaceholders
- str r4, [sp, 0xC]
- add r0, sp, 0xC
- add r1, sp, 0x6C
- ldrb r1, [r1]
- strb r1, [r0, 0x4]
- adds r1, r0, 0
- movs r0, 0x1
- strb r0, [r1, 0x5]
- ldr r4, [sp, 0x6C]
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add r0, sp, 0xC
- strb r5, [r0, 0x8]
- adds r1, r0, 0
- strb r5, [r0, 0x7]
- strb r5, [r1, 0x9]
- movs r1, 0
- movs r2, 0
- bl AddTextPrinter
- ldr r1, [sp, 0x24]
- ldr r0, =0x000003ff
- cmp r1, r0
- bne _0819375C
- ldr r0, =gStringVar1
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- b _0819377E
- .pool
-_0819375C:
- ldr r0, =0x000003fe
- cmp r1, r0
- bne _08193774
- ldr r0, =gStringVar1
- bl sub_8195938
- b _0819377E
- .pool
-_08193774:
- ldr r0, =gStringVar1
- lsls r1, 16
- lsrs r1, 16
- bl sub_8195898
-_0819377E:
- add r0, sp, 0xC
- movs r4, 0x2
- strb r4, [r0, 0x5]
- strb r4, [r0, 0xA]
- ldr r5, =gStringVar1
- str r5, [sp, 0xC]
- add r2, sp, 0x64
- ldrb r2, [r2]
- strb r2, [r0, 0x4]
- ldrb r0, [r0, 0x5]
- ldr r1, [sp, 0xC]
- add r2, sp, 0xC
- ldrb r3, [r2, 0xA]
- movs r2, 0x40
- bl GetStringCenterAlignXOffsetWithLetterSpacing
- add r1, sp, 0xC
- strb r0, [r1, 0x8]
- adds r0, r1, 0
- strb r4, [r0, 0x7]
- strb r4, [r1, 0x9]
- ldr r4, [sp, 0x64]
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add r0, sp, 0xC
- movs r1, 0
- movs r2, 0
- bl AddTextPrinter
- ldr r3, [sp, 0x4C]
- ldr r1, [r3, 0x4]
- ldr r0, =0x000003ff
- cmp r1, r0
- bne _081937E4
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r0, r5, 0
- bl StringCopy
- b _08193802
- .pool
-_081937E4:
- ldr r0, =0x000003fe
- cmp r1, r0
- bne _081937F8
- adds r0, r5, 0
- bl sub_8195938
- b _08193802
- .pool
-_081937F8:
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- bl sub_8195898
-_08193802:
- ldr r0, =gStringVar1
- str r0, [sp, 0xC]
- add r0, sp, 0xC
- movs r6, 0
- add r7, sp, 0x68
- ldrb r7, [r7]
- strb r7, [r0, 0x4]
- ldrb r0, [r0, 0x5]
- ldr r1, [sp, 0xC]
- add r2, sp, 0xC
- ldrb r3, [r2, 0xA]
- movs r2, 0x40
- bl GetStringCenterAlignXOffsetWithLetterSpacing
- add r1, sp, 0xC
- strb r0, [r1, 0x8]
- adds r0, r1, 0
- movs r5, 0x2
- strb r5, [r0, 0x7]
- strb r5, [r1, 0x9]
- ldr r4, [sp, 0x68]
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add r0, sp, 0xC
- movs r1, 0
- movs r2, 0
- bl AddTextPrinter
- add r0, sp, 0xC
- strb r6, [r0, 0xA]
- ldr r0, =gBattleDomeMatchNumberPointers
- ldr r1, [sp, 0x58]
- adds r0, r1, r0
- ldr r0, [r0]
- str r0, [sp, 0xC]
- add r0, sp, 0xC
- add r2, sp, 0x60
- ldrb r2, [r2]
- strb r2, [r0, 0x4]
- ldrb r0, [r0, 0x5]
- ldr r1, [sp, 0xC]
- add r2, sp, 0xC
- ldrb r3, [r2, 0xA]
- movs r2, 0xA0
- bl GetStringCenterAlignXOffsetWithLetterSpacing
- add r1, sp, 0xC
- strb r0, [r1, 0x8]
- adds r0, r1, 0
- strb r5, [r0, 0x7]
- strb r5, [r1, 0x9]
- ldr r4, [sp, 0x60]
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add r0, sp, 0xC
- movs r1, 0
- movs r2, 0
- bl AddTextPrinter
- add sp, 0x80
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819314C
-
- thumb_func_start sub_81938A4
-sub_81938A4: @ 81938A4
- push {lr}
- ldr r0, =sub_8194220
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x8]
- strh r2, [r1, 0xA]
- movs r0, 0x2
- strh r0, [r1, 0xC]
- strh r2, [r1, 0x10]
- ldr r0, =sub_8194B54
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81938A4
-
- thumb_func_start sub_81938E0
-sub_81938E0: @ 81938E0
- push {r4,lr}
- bl sub_8194D48
- ldr r4, =gSaveBlock2Ptr
- ldr r2, [r4]
- ldr r1, =0x00000d0a
- adds r0, r2, r1
- ldrb r1, [r0]
- subs r1, 0x1
- ldr r0, =0x00000ca9
- adds r2, r0
- movs r0, 0x3
- ands r1, r0
- ldrb r3, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r4]
- ldr r1, =0x00000cb2
- adds r0, r1
- movs r4, 0
- movs r1, 0x3
- strh r1, [r0]
- ldr r0, =sub_8194220
- movs r1, 0
- 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]
- strh r4, [r1, 0xA]
- movs r0, 0x2
- strh r0, [r1, 0xC]
- movs r0, 0x1
- strh r0, [r1, 0x10]
- ldr r0, =sub_8194B54
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81938E0
-
- thumb_func_start sub_819395C
-sub_819395C: @ 819395C
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0xA
- ldrsh r7, [r0, r2]
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x7
- bls _0819397E
- b _08193BC2
-_0819397E:
- lsls r0, 2
- ldr r1, =_08193990
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08193990:
- .4byte _081939B0
- .4byte _08193A00
- .4byte _08193A20
- .4byte _08193AA8
- .4byte _08193BC2
- .4byte _08193B20
- .4byte _08193BC2
- .4byte _08193B84
-_081939B0:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _081939C2
- b _08193BC2
-_081939C2:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x8]
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- b _08193BC2
- .pool
-_08193A00:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08193A0E
- b _08193BC2
-_08193A0E:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0x2
- strh r1, [r0, 0x8]
- b _08193BC2
- .pool
-_08193A20:
- adds r0, r5, 0
- bl sub_8193BDC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08193A30
- b _08193BC2
-_08193A30:
- cmp r0, 0x1
- ble _08193A3C
- cmp r0, 0x2
- beq _08193A60
- cmp r0, 0x3
- beq _08193A84
-_08193A3C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x7
- strh r1, [r0, 0x8]
- b _08193BC2
- .pool
-_08193A60:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x3
- strh r1, [r0, 0x8]
- b _08193BC2
- .pool
-_08193A84:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x5
- strh r1, [r0, 0x8]
- b _08193BC2
- .pool
-_08193AA8:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _08193ABA
- b _08193BC2
-_08193ABA:
- bl FreeAllWindowBuffers
- bl ScanlineEffect_Stop
- ldr r4, =gUnknown_0203CD7C
- ldr r0, [r4]
- bl Free
- str r6, [r4]
- ldr r0, =sub_8190400
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r2
- movs r3, 0
- strh r6, [r1, 0x8]
- ldr r0, =gUnknown_0860D080
- adds r0, r7, r0
- ldrb r0, [r0]
- strh r0, [r1, 0xA]
- movs r0, 0x1
- strh r0, [r1, 0xC]
- strh r5, [r1, 0xE]
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0x4
- strh r1, [r0, 0x8]
- ldr r0, =gUnknown_0203CD78
- ldr r0, [r0]
- strb r3, [r0, 0x10]
- b _08193BC2
- .pool
-_08193B20:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _08193BC2
- bl FreeAllWindowBuffers
- bl ScanlineEffect_Stop
- ldr r4, =gUnknown_0203CD7C
- ldr r0, [r4]
- bl Free
- str r6, [r4]
- ldr r0, =sub_8190400
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r2
- strh r6, [r0, 0x8]
- adds r1, r7, 0
- subs r1, 0x10
- strh r1, [r0, 0xA]
- movs r1, 0x2
- strh r1, [r0, 0xC]
- strh r5, [r0, 0xE]
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0x6
- strh r1, [r0, 0x8]
- b _08193BC2
- .pool
-_08193B84:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _08193BC2
- bl FreeAllWindowBuffers
- bl ScanlineEffect_Stop
- ldr r4, =gUnknown_0203CD7C
- ldr r0, [r4]
- bl Free
- str r6, [r4]
- ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x16]
- bl DestroyTask
- adds r0, r5, 0
- bl DestroyTask
-_08193BC2:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819395C
-
- thumb_func_start sub_8193BDC
-sub_8193BDC: @ 8193BDC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0x1
- mov r9, r0
- movs r1, 0x4
- mov r8, r1
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r1, 0xA
- ldrsh r5, [r0, r1]
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r6, [r0]
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- adds r2, r1, 0
- adds r3, r0, 0
- cmp r2, 0x2
- beq _08193C20
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _08193C58
- cmp r5, 0x1F
- bne _08193C3C
-_08193C20:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- mov r9, r0
- b _08193CDE
- .pool
-_08193C3C:
- cmp r5, 0xF
- bgt _08193C4C
- movs r0, 0x5
- bl PlaySE
- movs r1, 0x2
- mov r9, r1
- b _08193CDE
-_08193C4C:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x3
- mov r9, r0
- b _08193CDE
-_08193C58:
- cmp r2, 0x40
- bne _08193C78
- ldr r0, =gUnknown_0860CBF1
- lsls r1, r5, 2
- adds r1, r5
- adds r1, r6
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _08193C78
- movs r1, 0
- mov r8, r1
- b _08193CDE
- .pool
-_08193C78:
- ldrh r0, [r3, 0x2E]
- cmp r0, 0x80
- bne _08193C9C
- ldr r0, =gUnknown_0860CBF1
- lsls r1, r5, 2
- adds r1, r5
- adds r1, r6
- lsls r1, 2
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _08193C9C
- movs r0, 0x1
- b _08193CDC
- .pool
-_08193C9C:
- ldrh r0, [r3, 0x2E]
- cmp r0, 0x20
- bne _08193CC0
- ldr r0, =gUnknown_0860CBF1
- lsls r1, r5, 2
- adds r1, r5
- adds r1, r6
- lsls r1, 2
- adds r0, 0x2
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _08193CC0
- movs r1, 0x2
- mov r8, r1
- b _08193CDE
- .pool
-_08193CC0:
- ldrh r0, [r3, 0x2E]
- cmp r0, 0x10
- bne _08193CDE
- ldr r0, =gUnknown_0860CBF1
- lsls r1, r5, 2
- adds r1, r5
- adds r1, r6
- lsls r1, 2
- adds r0, 0x3
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _08193CDE
- movs r0, 0x3
-_08193CDC:
- mov r8, r0
-_08193CDE:
- mov r1, r8
- cmp r1, 0x4
- beq _08193D26
- movs r0, 0x5
- bl PlaySE
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- movs r1, 0
- bl StartSpriteAnim
- ldr r2, =gUnknown_0860CBF1
- lsls r1, r6, 2
- add r1, r8
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 2
- adds r1, r0
- adds r1, r2
- ldrb r5, [r1]
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0xA]
-_08193D26:
- mov r0, r9
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8193BDC
-
- thumb_func_start sub_8193D40
-sub_8193D40: @ 8193D40
- push {lr}
- ldr r0, =sub_8194220
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x8]
- movs r0, 0x1
- strh r0, [r1, 0xA]
- movs r0, 0x2
- strh r0, [r1, 0xC]
- strh r2, [r1, 0x10]
- ldr r0, =sub_8194B54
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8193D40
-
- thumb_func_start sub_8193D7C
-sub_8193D7C: @ 8193D7C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r7, =gSpecialVar_0x8005
- ldrh r0, [r7]
- cmp r0, 0x1
- bne _08193E10
- ldr r5, =gTrainerBattleOpponent_A
- ldrh r0, [r5]
- bl sub_8195358
- ldr r4, =gSaveBlock2Ptr
- ldr r2, [r4]
- lsls r0, 2
- adds r2, r0
- ldr r6, =0x00000d25
- adds r2, r6
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r5]
- bl sub_8195358
- ldr r1, [r4]
- lsls r0, 2
- adds r0, r1, r0
- ldr r2, =0x00000cb2
- mov r8, r2
- add r1, r8
- adds r0, r6
- movs r3, 0x3
- ldrb r2, [r1]
- ands r2, r3
- lsls r2, 3
- ldrb r3, [r0]
- movs r1, 0x19
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0]
- ldrh r0, [r5]
- bl sub_8195358
- ldr r2, [r4]
- lsls r0, 1
- movs r3, 0xEC
- lsls r3, 4
- adds r1, r2, r3
- adds r1, r0
- ldr r0, =gBattleResults
- ldrh r0, [r0, 0x22]
- strh r0, [r1]
- add r2, r8
- ldrh r0, [r2]
- cmp r0, 0x2
- bhi _08193EAE
- lsls r0, 24
- lsrs r0, 24
- bl sub_8195438
- b _08193EAE
- .pool
-_08193E10:
- ldr r5, =0x000003ff
- adds r0, r5, 0
- bl sub_8195358
- ldr r4, =gSaveBlock2Ptr
- ldr r2, [r4]
- lsls r0, 2
- adds r2, r0
- ldr r6, =0x00000d25
- adds r2, r6
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- adds r0, r5, 0
- bl sub_8195358
- ldr r1, [r4]
- lsls r0, 2
- adds r0, r1, r0
- ldr r2, =0x00000cb2
- adds r1, r2
- adds r0, r6
- movs r3, 0x3
- ldrb r2, [r1]
- ands r2, r3
- lsls r2, 3
- ldrb r3, [r0]
- movs r1, 0x19
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0]
- adds r0, r5, 0
- bl sub_8195358
- ldr r1, [r4]
- lsls r0, 1
- movs r3, 0xEC
- lsls r3, 4
- adds r1, r3
- adds r1, r0
- ldr r0, =gBattleResults
- ldrh r0, [r0, 0x24]
- strh r0, [r1]
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x9
- beq _08193E78
- ldrh r0, [r7]
- cmp r0, 0x9
- bne _08193E92
-_08193E78:
- adds r0, r5, 0
- bl sub_8195358
- ldr r2, [r4]
- lsls r0, 2
- adds r2, r0
- adds r2, r6
- ldrb r1, [r2]
- movs r0, 0x1F
- ands r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r2]
-_08193E92:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r4, [r0]
- cmp r4, 0x3
- bgt _08193EAE
-_08193EA0:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8195438
- adds r4, 0x1
- cmp r4, 0x3
- ble _08193EA0
-_08193EAE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8193D7C
-
- thumb_func_start sub_8193ED0
-sub_8193ED0: @ 8193ED0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x84
- str r0, [sp, 0x48]
- str r1, [sp, 0x4C]
- lsls r4, r2, 24
- lsrs r4, 24
- movs r0, 0
- str r0, [sp, 0x54]
- movs r1, 0
- str r1, [sp, 0x58]
- bl sub_8165C40
- movs r2, 0
- str r2, [sp, 0x50]
- add r3, sp, 0x30
- mov r10, r3
- ldr r5, [sp, 0x4C]
- lsls r5, 1
- str r5, [sp, 0x70]
- subs r4, 0x1
- str r4, [sp, 0x78]
-_08193F02:
- movs r0, 0
- mov r9, r0
- ldr r1, [sp, 0x50]
- lsls r1, 2
- str r1, [sp, 0x74]
- ldr r2, [sp, 0x48]
- lsls r2, 2
- str r2, [sp, 0x6C]
- ldr r3, [sp, 0x50]
- adds r3, 0x1
- str r3, [sp, 0x60]
-_08193F18:
- ldr r4, [sp, 0x74]
- add r4, r9
- lsls r0, r4, 2
- mov r5, sp
- adds r1, r5, r0
- movs r0, 0
- str r0, [r1]
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r1, [sp, 0x6C]
- adds r0, r3, r1
- ldr r2, =0x00000d24
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 22
- ldr r1, =0xff800000
- cmp r0, r1
- bne _08193F60
- ldr r3, [sp, 0x50]
- lsls r0, r3, 24
- mov r5, r9
- lsls r1, r5, 24
- lsrs r1, 24
- lsrs r0, 24
- bl sub_81A5060
- lsls r1, r4, 1
- add r1, r10
- strh r0, [r1]
- b _08193F8C
- .pool
-_08193F60:
- lsls r2, r4, 1
- add r2, r10
- ldr r1, [sp, 0x48]
- lsls r0, r1, 1
- adds r0, r1
- ldr r4, [sp, 0x50]
- adds r0, r4
- lsls r0, 1
- ldr r5, =0x00000d64
- adds r1, r3, r5
- adds r1, r0
- ldrh r0, [r1]
- ldr r1, =gUnknown_0203BC8C
- ldr r1, [r1]
- lsls r0, 4
- adds r0, r1
- mov r3, r9
- lsls r1, r3, 1
- adds r0, 0x2
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
-_08193F8C:
- ldr r0, =gBattleMoves
- ldr r1, [sp, 0x74]
- add r1, r9
- lsls r1, 1
- add r1, r10
- ldrh r2, [r1]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r6, [r1, 0x1]
- cmp r6, 0
- bne _08193FB8
- movs r6, 0x28
- b _08193FD0
- .pool
-_08193FB8:
- cmp r6, 0x1
- bne _08193FC0
- movs r6, 0x3C
- b _08193FD0
-_08193FC0:
- adds r1, r2, 0
- cmp r1, 0x78
- beq _08193FCA
- cmp r1, 0x99
- bne _08193FD0
-_08193FCA:
- lsrs r0, r6, 31
- adds r0, r6, r0
- asrs r6, r0, 1
-_08193FD0:
- movs r1, 0
- mov r4, r9
- adds r4, 0x1
- str r4, [sp, 0x64]
- ldr r5, [sp, 0x70]
- ldr r2, [sp, 0x4C]
- adds r0, r5, r2
- lsls r0, 1
- str r0, [sp, 0x5C]
-_08193FE2:
- lsls r7, r1, 1
- adds r1, 0x1
- str r1, [sp, 0x68]
- ldr r3, [sp, 0x5C]
- adds r3, r7
- mov r8, r3
-_08193FEE:
- bl Random
- adds r4, r0, 0
- bl Random
- lsls r4, 16
- lsrs r5, r4, 16
- lsls r0, 16
- orrs r5, r0
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- ldr r4, =0x00000d64
- adds r0, r4
- add r0, r8
- ldrh r4, [r0]
- ldr r3, =gUnknown_0203BC8C
- ldr r0, [r3]
- lsls r4, 4
- adds r4, r0
- adds r0, r5, 0
- str r2, [sp, 0x7C]
- str r3, [sp, 0x80]
- bl GetNatureFromPersonality
- ldrb r1, [r4, 0xC]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp, 0x7C]
- ldr r3, [sp, 0x80]
- cmp r1, r0
- bne _08193FEE
- ldr r0, [r2]
- ldr r2, [sp, 0x5C]
- adds r1, r7, r2
- ldr r4, =0x00000d64
- adds r0, r4
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, [r3]
- lsls r0, 4
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x1
- ands r5, r0
- cmp r5, 0
- beq _08194068
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r5, =gBaseStats
- adds r0, r5
- ldrb r2, [r0, 0x17]
- b _08194074
- .pool
-_08194068:
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r2, =gBaseStats
- adds r0, r2
- ldrb r2, [r0, 0x16]
-_08194074:
- ldr r4, [sp, 0x74]
- add r4, r9
- lsls r0, r4, 1
- add r0, r10
- ldrh r0, [r0]
- bl AI_TypeCalc
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x6
- ands r0, r5
- cmp r0, 0x6
- bne _0819409C
- lsls r0, r4, 2
- mov r3, sp
- adds r1, r3, r0
- b _081940D8
- .pool
-_0819409C:
- movs r0, 0x29
- ands r0, r5
- cmp r0, 0
- bne _081940DE
- movs r0, 0x2
- ands r0, r5
- cmp r0, 0
- beq _081940B6
- lsls r0, r4, 2
- mov r5, sp
- adds r2, r5, r0
- lsls r1, r6, 1
- b _081940CA
-_081940B6:
- movs r0, 0x4
- ands r5, r0
- cmp r5, 0
- beq _081940D2
- lsls r0, r4, 2
- mov r1, sp
- adds r2, r1, r0
- lsrs r1, r6, 31
- adds r1, r6, r1
- asrs r1, 1
-_081940CA:
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- b _081940DE
-_081940D2:
- lsls r0, r4, 2
- mov r2, sp
- adds r1, r2, r0
-_081940D8:
- ldr r0, [r1]
- adds r0, r6
- str r0, [r1]
-_081940DE:
- ldr r1, [sp, 0x68]
- cmp r1, 0x2
- bgt _081940E6
- b _08193FE2
-_081940E6:
- ldr r2, [sp, 0x74]
- add r2, r9
- lsls r0, r2, 2
- add r0, sp
- ldr r1, [r0]
- ldr r3, [sp, 0x54]
- cmp r3, r1
- bge _08194104
- lsls r0, r2, 16
- lsrs r0, 16
- str r0, [sp, 0x58]
- lsls r0, r1, 16
- lsrs r0, 16
- str r0, [sp, 0x54]
- b _08194122
-_08194104:
- ldr r4, [sp, 0x54]
- cmp r4, r1
- bne _08194122
- ldr r5, [sp, 0x58]
- lsls r0, r5, 1
- add r0, r10
- lsls r1, r2, 1
- add r1, r10
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- bcs _08194122
- lsls r0, r2, 16
- lsrs r0, 16
- str r0, [sp, 0x58]
-_08194122:
- ldr r0, [sp, 0x64]
- mov r9, r0
- cmp r0, 0x3
- bgt _0819412C
- b _08193F18
-_0819412C:
- ldr r1, [sp, 0x60]
- str r1, [sp, 0x50]
- cmp r1, 0x2
- bgt _08194136
- b _08193F02
-_08194136:
- ldr r2, [sp, 0x58]
- mov r9, r2
- b _08194182
-_0819413C:
- movs r3, 0
- mov r9, r3
- movs r1, 0
- mov r4, r10
- mov r3, r10
- mov r2, sp
-_08194148:
- ldr r0, [r2]
- ldr r5, [sp, 0x54]
- cmp r5, r0
- bge _0819415A
- mov r9, r1
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x54]
- b _08194170
-_0819415A:
- ldr r5, [sp, 0x54]
- cmp r5, r0
- bne _08194170
- mov r5, r9
- lsls r0, r5, 1
- adds r0, r4, r0
- ldrh r0, [r0]
- ldrh r5, [r3]
- cmp r0, r5
- bcs _08194170
- mov r9, r1
-_08194170:
- adds r3, 0x2
- adds r2, 0x4
- adds r1, 0x1
- cmp r1, 0xB
- ble _08194148
- ldr r0, [sp, 0x50]
- ldr r1, [sp, 0x78]
- cmp r0, r1
- beq _081941F4
-_08194182:
- movs r2, 0
- str r2, [sp, 0x50]
- mov r3, r9
- lsls r7, r3, 2
- ldr r4, [sp, 0x78]
- cmp r2, r4
- bge _081941CA
- lsls r0, r3, 1
- mov r5, r10
- adds r6, r5, r0
- ldr r0, [sp, 0x48]
- lsls r5, r0, 24
-_0819419A:
- ldr r0, =gSaveBlock2Ptr
- ldr r4, [r0]
- ldr r2, [sp, 0x50]
- lsls r1, r2, 24
- lsrs r1, 24
- lsrs r0, r5, 24
- bl sub_81953E8
- lsls r0, 24
- lsrs r0, 23
- movs r3, 0xEC
- lsls r3, 4
- adds r4, r3
- adds r4, r0
- ldrh r0, [r4]
- ldrh r4, [r6]
- cmp r0, r4
- beq _081941CA
- ldr r0, [sp, 0x50]
- adds r0, 0x1
- str r0, [sp, 0x50]
- ldr r1, [sp, 0x78]
- cmp r0, r1
- blt _0819419A
-_081941CA:
- ldr r2, [sp, 0x50]
- ldr r3, [sp, 0x78]
- cmp r2, r3
- beq _081941F4
- mov r4, sp
- adds r1, r4, r7
- movs r0, 0
- str r0, [r1]
- movs r5, 0
- str r5, [sp, 0x54]
- mov r9, r5
- mov r2, sp
- movs r1, 0xB
-_081941E4:
- ldm r2!, {r0}
- add r9, r0
- subs r1, 0x1
- cmp r1, 0
- bge _081941E4
- mov r0, r9
- cmp r0, 0
- bne _0819413C
-_081941F4:
- mov r1, r9
- lsls r0, r1, 2
- add r0, sp
- ldr r0, [r0]
- cmp r0, 0
- bne _08194204
- ldr r2, [sp, 0x58]
- mov r9, r2
-_08194204:
- mov r3, r9
- lsls r0, r3, 1
- add r0, r10
- ldrh r0, [r0]
- add sp, 0x84
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8193ED0
-
- thumb_func_start sub_8194220
-sub_8194220: @ 8194220
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r2, 0xA
- ldrsh r1, [r0, r2]
- mov r10, r1
- movs r3, 0xC
- ldrsh r4, [r0, r3]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x5
- bls _08194250
- b _081948C2
-_08194250:
- lsls r0, 2
- ldr r1, =_08194264
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08194264:
- .4byte _0819427C
- .4byte _0819431C
- .4byte _0819438C
- .4byte _0819447C
- .4byte _081944FC
- .4byte _081947C8
-_0819427C:
- movs r0, 0
- bl SetHBlankCallback
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x3
- bl EnableInterrupts
- movs r4, 0
- str r4, [sp, 0x14]
- add r0, sp, 0x14
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, =0x05006000
- bl CpuSet
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0860CE74
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_0860CE94
- bl InitWindows
- bl DeactivateAllTextPrinters
- ldr r0, =gBattle_BG0_X
- strh r4, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r4, [r0]
- ldr r0, =gBattle_BG1_X
- strh r4, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r4, [r0]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r1, 0xB0
- lsls r1, 4
- movs r0, 0x3
- movs r2, 0
- bl ChangeBgY
- ldr r1, =gTasks
- mov r2, r8
- lsls r0, r2, 2
- b _0819443C
- .pool
-_0819431C:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4C
- movs r1, 0
- bl SetGpuReg
- ldr r1, =0x00005860
- movs r0, 0x40
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0x9F
- bl SetGpuReg
- ldr r1, =0x00009098
- movs r0, 0x42
- bl SetGpuReg
- movs r0, 0x46
- movs r1, 0x9F
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x3F
- bl SetGpuReg
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, =gTasks
- mov r3, r8
- lsls r0, r3, 2
- b _0819443C
- .pool
-_0819438C:
- ldr r4, =gUnknown_0203CD7C
- movs r0, 0x80
- lsls r0, 4
- bl AllocZeroed
- adds r1, r0, 0
- str r1, [r4]
- ldr r0, =gUnknown_08D83900
- bl LZDecompressWram
- ldr r1, [r4]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- ldr r1, =gUnknown_08D82F10
- movs r5, 0x80
- lsls r5, 6
- movs r6, 0
- str r6, [sp]
- movs r0, 0x1
- adds r2, r5, 0
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08D834FC
- str r6, [sp]
- movs r0, 0x2
- adds r2, r5, 0
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08D83B2C
- movs r4, 0x1
- str r4, [sp]
- movs r0, 0x2
- adds r2, r5, 0
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08D83C3C
- str r4, [sp]
- movs r0, 0x3
- adds r2, r5, 0
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r0, =gUnknown_08D85358
- movs r4, 0x80
- lsls r4, 2
- movs r1, 0
- adds r2, r4, 0
- bl LoadCompressedPalette
- ldr r0, =gUnknown_08D85444
- movs r1, 0x80
- lsls r1, 1
- adds r2, r4, 0
- bl LoadCompressedPalette
- ldr r0, =gUnknown_08D85600
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadCompressedPalette
- str r6, [sp, 0x18]
- add r0, sp, 0x18
- ldr r1, =gPlttBufferFaded
- ldr r2, =0x05000100
- bl CpuSet
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- ldr r1, =gTasks
- mov r4, r8
- lsls r0, r4, 2
-_0819443C:
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _081948C2
- .pool
-_0819447C:
- ldr r0, =gUnknown_0860CF50
- bl LoadCompressedObjectPic
- mov r0, r8
- lsls r0, 2
- str r0, [sp, 0x1C]
- mov r1, r10
- cmp r1, 0
- bne _081944E8
- movs r5, 0
- ldr r4, =gUnknown_0860D411
-_08194492:
- ldrb r1, [r4]
- ldrb r2, [r4, 0x1]
- ldr r0, =gUnknown_0860CFA8
- movs r3, 0
- bl CreateSprite
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x1E
- bls _08194492
- ldr r0, =gTasks
- ldr r1, [sp, 0x1C]
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r2, 0x10
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _081944DC
- ldr r0, =gUnknown_0860D008
- movs r1, 0xDA
- movs r2, 0xC
- movs r3, 0
- bl CreateSprite
- b _081944E8
- .pool
-_081944DC:
- ldr r0, =gUnknown_0860CFD8
- movs r1, 0xDA
- movs r2, 0xC
- movs r3, 0
- bl CreateSprite
-_081944E8:
- ldr r1, =0x00007f40
- movs r0, 0
- bl SetGpuReg
- b _081947A6
- .pool
-_081944FC:
- add r0, sp, 0x4
- movs r2, 0
- movs r1, 0x2
- strb r1, [r0, 0x5]
- ldr r0, =gText_BattleTourney
- str r0, [sp, 0x4]
- add r0, sp, 0x4
- strb r1, [r0, 0x4]
- strb r2, [r0, 0x6]
- strb r2, [r0, 0x7]
- strb r1, [r0, 0xA]
- strb r2, [r0, 0xB]
- ldrb r0, [r0, 0x5]
- ldr r1, [sp, 0x4]
- add r2, sp, 0x4
- ldrb r3, [r2, 0xA]
- movs r2, 0x70
- bl GetStringCenterAlignXOffsetWithLetterSpacing
- add r1, sp, 0x4
- strb r0, [r1, 0x8]
- movs r0, 0x1
- strb r0, [r1, 0x9]
- adds r3, r1, 0
- ldrb r2, [r3, 0xC]
- movs r1, 0x10
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3, 0xC]
- adds r2, r3, 0
- movs r0, 0xE0
- strb r0, [r2, 0xC]
- ldrb r0, [r2, 0xD]
- ands r1, r0
- strb r1, [r2, 0xD]
- adds r1, r2, 0
- movs r0, 0xD0
- strb r0, [r1, 0xD]
- adds r0, r1, 0
- movs r1, 0
- movs r2, 0
- bl AddTextPrinter
- mov r3, r8
- lsls r3, 2
- str r3, [sp, 0x1C]
- add r4, sp, 0x4
- movs r0, 0xF
- mov r9, r0
- movs r1, 0
- str r1, [sp, 0x20]
- movs r2, 0
- str r2, [sp, 0x24]
- movs r7, 0
- movs r5, 0xF
-_0819456C:
- ldr r3, =gSaveBlock2Ptr
- ldr r0, [r3]
- adds r0, r7
- ldr r1, =0x00000d24
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 22
- lsrs r1, 22
- ldr r0, =gDisplayedStringBattle
- bl sub_8195898
- mov r2, r10
- cmp r2, 0x1
- bne _081945C4
- ldr r3, =gSaveBlock2Ptr
- ldr r2, [r3]
- adds r0, r2, r7
- ldr r1, =0x00000d25
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 29
- cmp r0, 0
- blt _081945DC
- ldr r3, =0x00000cb2
- adds r0, r2, r3
- ldrh r1, [r0]
- cmp r1, 0x1
- beq _08194634
- ldr r2, [sp, 0x24]
- lsrs r0, r2, 24
- subs r1, 0x2
- b _081945EA
- .pool
-_081945C4:
- mov r3, r10
- cmp r3, 0
- bne _08194634
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- adds r0, r2, r7
- ldr r1, =0x00000d25
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 29
- cmp r0, 0
- bge _081945FC
-_081945DC:
- lsls r1, 27
- lsrs r0, r1, 30
- cmp r0, 0
- beq _08194634
- subs r1, r0, 0x1
- ldr r2, [sp, 0x24]
- lsrs r0, r2, 24
-_081945EA:
- lsls r1, 24
- lsrs r1, 24
- bl sub_81948EC
- b _08194634
- .pool
-_081945FC:
- ldr r3, =0x00000cb2
- adds r1, r2, r3
- ldrh r0, [r1]
- cmp r0, 0
- beq _08194634
- ldr r0, [sp, 0x1C]
- add r0, r8
- lsls r0, 3
- ldr r2, =gTasks
- adds r0, r2
- movs r3, 0x10
- ldrsh r0, [r0, r3]
- cmp r0, 0
- beq _08194624
- ldrh r1, [r1]
- b _08194628
- .pool
-_08194624:
- ldrh r0, [r1]
- subs r1, r0, 0x1
-_08194628:
- ldr r2, [sp, 0x24]
- lsrs r0, r2, 24
- lsls r1, 24
- lsrs r1, 24
- bl sub_81948EC
-_08194634:
- ldr r0, [sp, 0x1C]
- add r0, r8
- lsls r0, 3
- ldr r3, =gTasks
- adds r0, r3
- movs r1, 0x10
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _08194660
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- ldr r3, =0x00000cb2
- adds r0, r3
- ldrh r3, [r0]
- adds r6, r2, 0
- b _0819466E
- .pool
-_08194660:
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, =0x00000cb2
- adds r0, r2
- ldrh r0, [r0]
- subs r3, r0, 0x1
- adds r6, r1, 0
-_0819466E:
- mov r0, r10
- cmp r0, 0x1
- bne _0819468E
- ldr r2, [r6]
- adds r0, r2, r7
- ldr r1, =0x00000d25
- adds r0, r1
- ldrb r1, [r0]
- lsls r1, 27
- lsrs r1, 30
- ldr r0, =0x00000cb2
- adds r2, r0
- ldrh r0, [r2]
- subs r0, 0x1
- cmp r1, r0
- blt _081946A6
-_0819468E:
- mov r1, r10
- cmp r1, 0
- bne _081946FA
- ldr r0, [r6]
- adds r0, r7
- ldr r2, =0x00000d25
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 30
- cmp r0, r3
- bgt _081946FA
-_081946A6:
- ldr r0, [r6]
- adds r1, r0, r7
- ldr r3, =0x00000d25
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _081946FA
- ldr r2, =0x00000d24
- adds r0, r1, r2
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- ldr r3, =0x000003ff
- cmp r0, r3
- bne _081946F0
- ldrb r1, [r4, 0xC]
- mov r0, r9
- ands r0, r1
- movs r1, 0x30
- orrs r0, r1
- strb r0, [r4, 0xC]
- ldrb r1, [r4, 0xD]
- mov r0, r9
- ands r0, r1
- movs r1, 0x40
- b _08194740
- .pool
-_081946F0:
- ldrb r1, [r4, 0xC]
- mov r0, r9
- ands r0, r1
- movs r1, 0xB0
- b _08194734
-_081946FA:
- ldr r0, [r6]
- adds r0, r7
- ldr r1, =0x00000d24
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- ldr r2, =0x000003ff
- cmp r0, r2
- bne _0819472C
- ldrb r1, [r4, 0xC]
- mov r0, r9
- ands r0, r1
- movs r1, 0x30
- orrs r0, r1
- strb r0, [r4, 0xC]
- ldrb r1, [r4, 0xD]
- mov r0, r9
- ands r0, r1
- movs r1, 0x40
- b _08194740
- .pool
-_0819472C:
- ldrb r1, [r4, 0xC]
- mov r0, r9
- ands r0, r1
- movs r1, 0xE0
-_08194734:
- orrs r0, r1
- strb r0, [r4, 0xC]
- ldrb r1, [r4, 0xD]
- mov r0, r9
- ands r0, r1
- movs r1, 0xD0
-_08194740:
- orrs r0, r1
- strb r0, [r4, 0xD]
- ldr r0, =gUnknown_0860D3F1
- ldr r3, [sp, 0x20]
- adds r0, r3, r0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08194768
- ldrb r0, [r4, 0x5]
- ldrb r3, [r4, 0xA]
- ldr r1, =gDisplayedStringBattle
- movs r2, 0x3D
- bl GetStringWidthDifference
- b _0819476A
- .pool
-_08194768:
- movs r0, 0x3
-_0819476A:
- strb r0, [r4, 0x8]
- ldr r0, =gDisplayedStringBattle
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_0860D3F1
- ldr r1, [sp, 0x20]
- adds r0, r1, r0
- ldrb r0, [r0]
- strb r0, [r4, 0x4]
- ldr r2, =gUnknown_0860D3F2
- adds r0, r1, r2
- ldrb r0, [r0]
- strb r0, [r4, 0x9]
- add r0, sp, 0x4
- movs r1, 0
- movs r2, 0
- bl AddTextPrinter
- ldr r3, [sp, 0x20]
- adds r3, 0x2
- str r3, [sp, 0x20]
- ldr r0, [sp, 0x24]
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- str r0, [sp, 0x24]
- adds r7, 0x4
- subs r5, 0x1
- cmp r5, 0
- blt _081947A6
- b _0819456C
-_081947A6:
- ldr r0, =gTasks
- ldr r1, [sp, 0x1C]
- add r1, r8
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _081948C2
- .pool
-_081947C8:
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =sub_8194BEC
- bl SetHBlankCallback
- ldr r0, =sub_8194CE4
- bl SetVBlankCallback
- cmp r4, 0x2
- bne _0819485C
- mov r2, r10
- cmp r2, 0
- bne _08194844
- ldr r0, =sub_819395C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r2
- mov r3, r10
- strh r3, [r1, 0x8]
- strh r3, [r1, 0xA]
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0, 0x10]
- strh r0, [r1, 0x14]
- b _08194878
- .pool
-_08194844:
- ldr r0, =sub_8194950
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- b _0819486C
- .pool
-_0819485C:
- ldr r1, =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r3, 0xE
- ldrsh r5, [r0, r3]
-_0819486C:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
-_08194878:
- bl ScanlineEffect_Clear
- ldr r0, =gScanlineEffectRegBuffers
- ldr r2, =0x00001f0a
- movs r4, 0xF0
- lsls r4, 3
- adds r1, r0, r4
- movs r5, 0x5A
-_08194888:
- strh r2, [r0]
- strh r2, [r1]
- adds r1, 0x2
- adds r0, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _08194888
- movs r5, 0x5B
- ldr r3, =gUnknown_0860CF44
- ldr r0, =gScanlineEffectRegBuffers
- ldr r2, =0x00001f09
- ldr r4, =0x00000836
- adds r1, r0, r4
- adds r0, 0xB6
-_081948A4:
- strh r2, [r0]
- strh r2, [r1]
- adds r1, 0x2
- adds r0, 0x2
- adds r5, 0x1
- cmp r5, 0x9F
- ble _081948A4
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- ldr r2, [r3, 0x8]
- bl ScanlineEffect_SetParams
- mov r0, r8
- bl DestroyTask
-_081948C2:
- 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 sub_8194220
-
- thumb_func_start sub_81948EC
-sub_81948EC: @ 81948EC
- push {r4-r7,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r4, =gUnknown_0860DD10
- lsls r2, r1, 2
- lsls r3, r0, 4
- adds r2, r3
- adds r2, r4
- ldr r3, [r2]
- ldr r2, =gUnknown_0860DE10
- lsls r0, 2
- adds r1, r0
- adds r1, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _08194938
- movs r7, 0x1
- adds r4, r3, 0
- adds r5, r4, 0x2
- adds r6, r0, 0
-_0819491A:
- ldrb r2, [r4]
- ldrb r3, [r4, 0x1]
- str r7, [sp]
- str r7, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x1
- adds r1, r5, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- adds r4, 0x4
- adds r5, 0x4
- subs r6, 0x1
- cmp r6, 0
- bne _0819491A
-_08194938:
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81948EC
-
- thumb_func_start sub_8194950
-sub_8194950: @ 8194950
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x4
- bls _08194974
- b _08194B3C
-_08194974:
- lsls r0, 2
- ldr r1, =_08194988
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08194988:
- .4byte _0819499C
- .4byte _081949C0
- .4byte _08194AD4
- .4byte _08194AEE
- .4byte _08194B24
-_0819499C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x8]
- b _08194B3C
- .pool
-_081949C0:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081949CE
- b _08194B3C
-_081949CE:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- movs r2, 0
- movs r3, 0x2
- movs r1, 0x2
- strh r1, [r0, 0x8]
- movs r1, 0x40
- strh r1, [r0, 0xE]
- add r0, sp, 0x4
- strb r3, [r0, 0x5]
- strb r2, [r0, 0x6]
- strb r2, [r0, 0x7]
- strb r3, [r0, 0xA]
- strb r2, [r0, 0xB]
- adds r3, r0, 0
- ldrb r2, [r3, 0xC]
- subs r1, 0x50
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3, 0xC]
- adds r2, r3, 0
- movs r0, 0xB0
- strb r0, [r2, 0xC]
- ldrb r0, [r2, 0xD]
- ands r1, r0
- strb r1, [r2, 0xD]
- adds r1, r2, 0
- movs r0, 0xD0
- strb r0, [r1, 0xD]
- movs r7, 0
- ldr r0, =gDisplayedStringBattle
- mov r9, r0
- ldr r1, =gSaveBlock2Ptr
- mov r8, r1
- adds r4, r2, 0
- ldr r6, =gUnknown_0860D3F1
- movs r5, 0
-_08194A1C:
- mov r2, r8
- ldr r0, [r2]
- adds r0, r5
- ldr r1, =0x00000d24
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 22
- lsrs r1, 22
- mov r0, r9
- bl sub_8195898
- mov r0, r8
- ldr r2, [r0]
- adds r0, r2, r5
- ldr r1, =0x00000d25
- adds r0, r1
- ldrb r3, [r0]
- lsls r1, r3, 27
- lsrs r1, 30
- ldr r0, =0x00000cb2
- adds r2, r0
- ldrh r0, [r2]
- subs r0, 0x1
- cmp r1, r0
- bne _08194A9E
- lsls r0, r3, 29
- cmp r0, 0
- bge _08194A9E
- ldrb r0, [r6]
- cmp r0, 0
- bne _08194A84
- ldrb r0, [r4, 0x5]
- ldrb r3, [r4, 0xA]
- mov r1, r9
- movs r2, 0x3D
- bl GetStringWidthDifference
- b _08194A86
- .pool
-_08194A84:
- movs r0, 0x3
-_08194A86:
- strb r0, [r4, 0x8]
- mov r1, r9
- str r1, [sp, 0x4]
- ldrb r0, [r6]
- strb r0, [r4, 0x4]
- ldrb r0, [r6, 0x1]
- strb r0, [r4, 0x9]
- add r0, sp, 0x4
- movs r1, 0
- movs r2, 0
- bl AddTextPrinter
-_08194A9E:
- mov r2, r8
- ldr r1, [r2]
- adds r0, r1, r5
- ldr r2, =0x00000d25
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- blt _08194AC4
- subs r2, 0x73
- adds r0, r1, r2
- ldrh r1, [r0]
- subs r1, 0x1
- lsls r0, r7, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl sub_81948EC
-_08194AC4:
- adds r6, 0x2
- adds r5, 0x4
- adds r7, 0x1
- cmp r7, 0xF
- ble _08194A1C
- b _08194B3C
- .pool
-_08194AD4:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r2
- ldrh r0, [r1, 0xE]
- subs r0, 0x1
- strh r0, [r1, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _08194B3C
- movs r0, 0x3
- strh r0, [r1, 0x8]
- b _08194B3C
-_08194AEE:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08194B3C
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x4
- strh r1, [r0, 0x8]
- b _08194B3C
- .pool
-_08194B24:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08194B3C
- ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_08194B3C:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8194950
-
- thumb_func_start sub_8194B54
-sub_8194B54: @ 8194B54
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTextPrinters
- bl UpdatePaletteFade
- bl RunTasks
- pop {r0}
- bx r0
- thumb_func_end sub_8194B54
-
- thumb_func_start sub_8194B70
-sub_8194B70: @ 8194B70
- push {lr}
- movs r0, 0x3
- movs r1, 0x80
- movs r2, 0x1
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0x80
- movs r2, 0x2
- bl ChangeBgY
- ldr r0, =gBattle_BG0_X
- ldrh r1, [r0]
- movs r0, 0x10
- bl SetGpuReg
- ldr r0, =gBattle_BG0_Y
- ldrh r1, [r0]
- movs r0, 0x12
- bl SetGpuReg
- ldr r0, =gBattle_BG1_X
- ldrh r1, [r0]
- movs r0, 0x14
- bl SetGpuReg
- ldr r0, =gBattle_BG1_Y
- ldrh r1, [r0]
- movs r0, 0x16
- bl SetGpuReg
- ldr r0, =gBattle_BG2_X
- ldrh r1, [r0]
- movs r0, 0x18
- bl SetGpuReg
- ldr r0, =gBattle_BG2_Y
- ldrh r1, [r0]
- movs r0, 0x1A
- bl SetGpuReg
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8194B70
-
- thumb_func_start sub_8194BEC
-sub_8194BEC: @ 8194BEC
- push {lr}
- ldr r0, =0x04000006
- ldrh r0, [r0]
- adds r1, r0, 0
- cmp r0, 0x29
- bls _08194CC8
- cmp r0, 0x31
- bhi _08194C1C
- ldr r1, =0x04000048
- ldr r2, =0x00003b3b
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x8
- ldr r0, =0x989b5558
- b _08194CD4
- .pool
-_08194C1C:
- cmp r0, 0x39
- bls _08194CC8
- cmp r0, 0x4A
- bhi _08194C40
- ldr r1, =0x04000048
- ldr r2, =0x00003b3b
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x8
- ldr r0, =0x90985860
- b _08194CD4
- .pool
-_08194C40:
- cmp r0, 0x51
- bhi _08194C60
- ldr r1, =0x04000048
- ldr r2, =0x00003b3b
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x8
- ldr r0, =0x989b5558
- b _08194CD4
- .pool
-_08194C60:
- cmp r0, 0x5E
- bls _08194CC8
- cmp r0, 0x66
- bhi _08194C84
- ldr r1, =0x04000048
- ldr r2, =0x00003737
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x8
- ldr r0, =0x989b5558
- b _08194CD4
- .pool
-_08194C84:
- cmp r0, 0x76
- bhi _08194CA4
- ldr r1, =0x04000048
- ldr r2, =0x00003737
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x8
- ldr r0, =0x90985860
- b _08194CD4
- .pool
-_08194CA4:
- cmp r0, 0x7E
- bls _08194CC8
- cmp r1, 0x86
- bhi _08194CC8
- ldr r1, =0x04000048
- ldr r2, =0x00003737
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x8
- ldr r0, =0x989b5558
- b _08194CD4
- .pool
-_08194CC8:
- ldr r1, =0x04000048
- ldr r2, =0x00003f3f
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x8
- movs r0, 0
-_08194CD4:
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8194BEC
-
- thumb_func_start sub_8194CE4
-sub_8194CE4: @ 8194CE4
- push {lr}
- ldr r0, =gBattle_BG0_X
- ldrh r1, [r0]
- movs r0, 0x10
- bl SetGpuReg
- ldr r0, =gBattle_BG0_Y
- ldrh r1, [r0]
- movs r0, 0x12
- bl SetGpuReg
- ldr r0, =gBattle_BG1_X
- ldrh r1, [r0]
- movs r0, 0x14
- bl SetGpuReg
- ldr r0, =gBattle_BG1_Y
- ldrh r1, [r0]
- movs r0, 0x16
- bl SetGpuReg
- movs r0, 0x2
- movs r1, 0x80
- movs r2, 0x2
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0x80
- movs r2, 0x1
- bl ChangeBgY
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl ScanlineEffect_InitHBlankDmaTransfer
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8194CE4
-
- thumb_func_start sub_8194D48
-sub_8194D48: @ 8194D48
- ldr r1, =gUnknown_0203BC8C
- ldr r0, =gBattleFrontierMons
- str r0, [r1]
- ldr r1, =gUnknown_0203BC88
- ldr r0, =gBattleFrontierTrainers
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8194D48
-
- thumb_func_start sub_8194D68
-sub_8194D68: @ 8194D68
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r3, 0
-_08194D76:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =gUnknown_0203CEF8
- adds r0, r3, r0
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 1
- ldr r2, =0x00000caa
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- subs r0, 0x1
- mov r10, r0
- movs r6, 0
- adds r0, r3, 0x1
- str r0, [sp]
- movs r1, 0x64
- mov r0, r10
- muls r0, r1
- movs r2, 0x8E
- lsls r2, 2
- adds r2, r0
- mov r9, r2
- adds r7, r3, 0
- muls r7, r1
-_08194DA8:
- movs r5, 0
- adds r0, r6, 0x1
- mov r8, r0
- b _08194DBE
- .pool
-_08194DBC:
- adds r5, 0x1
-_08194DBE:
- cmp r5, 0x3
- bgt _08194DEA
- ldr r1, =gSaveBlock1Ptr
- ldr r0, [r1]
- add r0, r9
- adds r1, r5, 0
- adds r1, 0xD
- movs r2, 0
- str r3, [sp, 0x4]
- bl GetMonData
- adds r4, r0, 0
- adds r1, r6, 0
- adds r1, 0xD
- ldr r2, =gPlayerParty
- adds r0, r7, r2
- movs r2, 0
- bl GetMonData
- ldr r3, [sp, 0x4]
- cmp r4, r0
- bne _08194DBC
-_08194DEA:
- cmp r5, 0x4
- bne _08194E00
- lsls r2, r6, 24
- lsrs r2, 24
- ldr r1, =gPlayerParty
- adds r0, r7, r1
- movs r1, 0xA6
- str r3, [sp, 0x4]
- bl SetMonMoveSlot
- ldr r3, [sp, 0x4]
-_08194E00:
- mov r6, r8
- cmp r6, 0x3
- ble _08194DA8
- ldr r2, =gSaveBlock1Ptr
- ldr r0, [r2]
- movs r2, 0x64
- mov r1, r10
- muls r1, r2
- adds r0, r1
- movs r1, 0x8E
- lsls r1, 2
- adds r0, r1
- adds r1, r3, 0
- muls r1, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- ldr r3, [sp]
- cmp r3, 0x1
- ble _08194D76
- 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 sub_8194D68
-
- thumb_func_start sub_8194E44
-sub_8194E44: @ 8194E44
- push {r4-r7,lr}
- sub sp, 0x4
- movs r4, 0
- ldr r7, =gSaveBlock1Ptr
- movs r6, 0x64
- movs r5, 0
-_08194E50:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =gUnknown_0203CEF8
- adds r0, r4, r0
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 1
- ldr r2, =0x00000caa
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- subs r0, 0x1
- adds r1, r0, 0
- muls r1, r6
- movs r0, 0x8E
- lsls r0, 2
- adds r1, r0
- ldr r0, [r7]
- adds r0, r1
- movs r1, 0xC
- movs r2, 0
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- ldr r0, =gPlayerParty
- adds r0, r5, r0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r5, 0x64
- adds r4, 0x1
- cmp r4, 0x1
- ble _08194E50
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8194E44
-
- thumb_func_start sub_8194EB4
-sub_8194EB4: @ 8194EB4
- push {lr}
- bl sub_80F94E8
- pop {r0}
- bx r0
- thumb_func_end sub_8194EB4
-
- thumb_func_start sub_8194EC0
-sub_8194EC0: @ 8194EC0
- push {r4,lr}
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- bl sub_8195358
- adds r4, r0, 0
- ldr r0, =0x000003ff
- bl sub_8195358
- cmp r4, r0
- ble _08194EE8
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- b _08194EEC
- .pool
-_08194EE8:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x2
-_08194EEC:
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8194EC0
-
- thumb_func_start sub_8194EF8
-sub_8194EF8: @ 8194EF8
- push {r4,lr}
- bl sub_8194D48
- movs r2, 0
- ldr r3, =gSaveBlock2Ptr
- ldr r0, [r3]
- ldr r1, =0x00000d25
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _08194F2A
- adds r4, r3, 0
- adds r3, r1, 0
-_08194F14:
- adds r2, 0x1
- cmp r2, 0xF
- bgt _08194F2A
- ldr r0, [r4]
- lsls r1, r2, 2
- adds r0, r1
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- blt _08194F14
-_08194F2A:
- ldr r0, =gStringVar1
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- lsls r2, 2
- adds r1, r2
- ldr r2, =0x00000d24
- adds r1, r2
- ldrh r1, [r1]
- lsls r1, 22
- lsrs r1, 22
- bl sub_8195898
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8194EF8
-
- thumb_func_start sub_8194F58
-sub_8194F58: @ 8194F58
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- movs r0, 0
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- str r0, [sp, 0x10]
- ldr r4, =gSaveBlock2Ptr
- ldr r2, [r4]
- ldr r5, =0x00000d0a
- adds r0, r2, r5
- ldrb r1, [r0]
- ldr r6, =0x00000d0b
- adds r0, r2, r6
- ldrb r0, [r0]
- cmn r1, r0
- beq _08194F8C
- ldr r1, =0x00000ca8
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08194F8C
- b _0819533E
-_08194F8C:
- movs r0, 0x20
- bl AllocZeroed
- str r0, [sp, 0x18]
- movs r0, 0x18
- bl AllocZeroed
- str r0, [sp, 0x1C]
- ldr r1, [r4]
- ldr r2, =0x00000ca9
- adds r1, r2
- ldrb r2, [r1]
- lsls r0, r2, 30
- lsrs r0, 30
- str r0, [sp, 0x14]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0x1
- adds r0, r5
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r6
- strb r1, [r0]
- movs r3, 0
- mov r10, r3
- movs r4, 0
- str r4, [sp, 0x38]
- movs r5, 0
- str r5, [sp, 0x3C]
-_08194FCC:
- mov r0, r10
- cmp r0, 0x4
- bgt _08194FFC
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- b _08195030
- .pool
-_08194FFC:
- mov r1, r10
- cmp r1, 0xE
- bgt _0819501A
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x14
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- adds r4, r0, 0
- adds r4, 0xA
- b _08195030
-_0819501A:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- adds r4, r0, 0
- adds r4, 0x1E
-_08195030:
- movs r6, 0
- cmp r6, r10
- bge _08195064
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- ldr r3, =0x00000d24
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- cmp r0, r4
- beq _08195064
- adds r3, r2, 0
- ldr r2, =0x00000d24
-_0819504C:
- adds r6, 0x1
- cmp r6, r10
- bge _08195064
- ldr r0, [r3]
- lsls r1, r6, 2
- adds r0, r1
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- cmp r0, r4
- bne _0819504C
-_08195064:
- cmp r6, r10
- bne _08194FCC
- ldr r5, =gSaveBlock2Ptr
- ldr r3, [r5]
- ldr r0, [sp, 0x38]
- adds r3, r0
- ldr r1, =0x00000d24
- adds r3, r1
- ldr r2, =0x000003ff
- adds r0, r2, 0
- adds r2, r4, 0
- ands r2, r0
- ldrh r0, [r3]
- ldr r5, =0xfffffc00
- adds r1, r5, 0
- ands r0, r1
- orrs r0, r2
- strh r0, [r3]
- movs r6, 0
- lsls r4, 16
- str r4, [sp, 0x30]
- ldr r0, [sp, 0x3C]
- str r0, [sp, 0x20]
-_08195092:
- adds r1, r6, 0x1
- str r1, [sp, 0x24]
- lsls r2, r6, 2
- str r2, [sp, 0x2C]
- lsls r3, r6, 1
- str r3, [sp, 0x28]
-_0819509E:
- ldr r4, [sp, 0x30]
- lsrs r0, r4, 16
- bl sub_8163524
- lsls r0, 16
- lsrs r5, r0, 16
- movs r7, 0
- cmp r7, r6
- bge _081950F4
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =gUnknown_0203BC8C
- mov r9, r1
- ldr r2, [sp, 0x8]
- mov r8, r2
- ldr r3, [sp, 0xC]
- mov r12, r3
- ldr r4, =0x00000d64
- adds r0, r4
- ldr r1, [sp, 0x20]
- adds r4, r1, r0
-_081950C8:
- ldrh r3, [r4]
- cmp r3, r5
- beq _081950F4
- mov r2, r9
- ldr r1, [r2]
- lsls r0, r5, 4
- adds r2, r0, r1
- ldrh r0, [r2]
- cmp r8, r0
- beq _081950F4
- cmp r12, r0
- beq _081950F4
- lsls r0, r3, 4
- adds r0, r1
- ldrb r0, [r0, 0xA]
- ldrb r2, [r2, 0xA]
- cmp r0, r2
- beq _081950F4
- adds r4, 0x2
- adds r7, 0x1
- cmp r7, r6
- blt _081950C8
-_081950F4:
- cmp r7, r6
- bne _0819509E
- ldr r3, =gSaveBlock2Ptr
- ldr r0, [r3]
- ldr r4, [sp, 0x28]
- ldr r2, [sp, 0x3C]
- adds r1, r4, r2
- ldr r3, =0x00000d64
- adds r0, r3
- adds r0, r1
- strh r5, [r0]
- ldr r2, [sp, 0x2C]
- add r2, sp
- adds r2, 0x8
- ldr r3, =gUnknown_0203BC8C
- ldr r1, [r3]
- lsls r0, r5, 4
- adds r0, r1
- ldrh r0, [r0]
- str r0, [r2]
- ldr r6, [sp, 0x24]
- cmp r6, 0x2
- ble _08195092
- ldr r4, =gSaveBlock2Ptr
- ldr r2, [r4]
- ldr r5, [sp, 0x38]
- adds r2, r5
- ldr r0, =0x00000d25
- adds r2, r0
- ldrb r0, [r2]
- movs r4, 0x5
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- strb r0, [r2]
- ldr r5, =gSaveBlock2Ptr
- ldr r2, [r5]
- ldr r0, [sp, 0x38]
- adds r2, r0
- ldr r1, =0x00000d25
- adds r2, r1
- ldrb r0, [r2]
- subs r4, 0x14
- adds r1, r4, 0
- ands r0, r1
- strb r0, [r2]
- ldr r1, [r5]
- ldr r5, [sp, 0x38]
- adds r1, r5
- ldr r0, =0x00000d25
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x1F
- ands r0, r2
- strb r0, [r1]
- adds r5, 0x4
- str r5, [sp, 0x38]
- ldr r1, [sp, 0x3C]
- adds r1, 0x6
- str r1, [sp, 0x3C]
- movs r2, 0x1
- add r10, r2
- mov r4, r10
- cmp r4, 0xF
- bgt _08195178
- b _08194FCC
-_08195178:
- movs r5, 0
- mov r10, r5
- ldr r5, [sp, 0x18]
- movs r0, 0
- str r0, [sp, 0x34]
-_08195182:
- movs r7, 0
- strh r7, [r5]
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- mov r2, r10
- lsls r1, r2, 2
- adds r0, r1
- ldr r3, =0x00000d24
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- bl sub_8190168
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r6, 0
- ldr r4, [sp, 0x34]
- mov r9, r4
-_081951AA:
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- mov r4, r9
- add r4, r10
- adds r4, r6
- lsls r4, 1
- ldr r2, =0x00000d64
- adds r0, r2
- adds r0, r4
- ldrh r1, [r0]
- ldr r3, =gUnknown_0203BC8C
- ldr r0, [r3]
- lsls r1, 4
- adds r1, r0
- ldrh r0, [r1]
- ldrb r3, [r1, 0xB]
- ldrb r1, [r1, 0xC]
- str r1, [sp]
- ldr r1, [sp, 0x1C]
- str r1, [sp, 0x4]
- movs r1, 0x32
- mov r2, r8
- bl sub_818F720
- ldr r2, [sp, 0x1C]
- ldr r1, [r2, 0x4]
- ldrh r0, [r5]
- adds r0, r1
- ldr r1, [r2, 0x8]
- adds r0, r1
- ldr r1, [r2, 0x10]
- adds r0, r1
- ldr r1, [r2, 0x14]
- adds r0, r1
- ldr r1, [r2, 0xC]
- adds r0, r1
- ldr r1, [r2]
- adds r0, r1
- strh r0, [r5]
- ldr r3, =gSaveBlock2Ptr
- ldr r0, [r3]
- ldr r1, =0x00000d64
- adds r0, r1
- adds r0, r4
- ldrh r0, [r0]
- ldr r2, =gUnknown_0203BC8C
- ldr r1, [r2]
- lsls r0, 4
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r3, =gBaseStats
- adds r1, r3
- ldrb r0, [r1, 0x6]
- lsls r0, 2
- ldr r4, =gBitTable
- adds r0, r4
- ldr r0, [r0]
- orrs r7, r0
- ldrb r0, [r1, 0x7]
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- orrs r7, r0
- adds r6, 0x1
- cmp r6, 0x2
- ble _081951AA
- movs r4, 0
- movs r1, 0x1
- movs r6, 0x1F
-_0819523A:
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08195244
- adds r4, 0x1
-_08195244:
- asrs r7, 1
- subs r6, 0x1
- cmp r6, 0
- bge _0819523A
- movs r1, 0x32
- adds r0, r4, 0
- muls r0, r1
- movs r1, 0x14
- bl __divsi3
- ldrh r1, [r5]
- adds r1, r0
- strh r1, [r5]
- adds r5, 0x2
- ldr r2, [sp, 0x34]
- adds r2, 0x2
- str r2, [sp, 0x34]
- movs r3, 0x1
- add r10, r3
- mov r4, r10
- cmp r4, 0xF
- ble _08195182
- movs r5, 0
- mov r10, r5
- ldr r7, [sp, 0x18]
-_08195276:
- mov r6, r10
- adds r6, 0x1
- cmp r6, 0xF
- bgt _081952F8
- mov r8, r7
- ldr r5, =0x00000d24
- lsls r0, r6, 1
- ldr r1, [sp, 0x18]
- adds r4, r0, r1
-_08195288:
- mov r2, r8
- ldrh r1, [r2]
- ldrh r0, [r4]
- cmp r1, r0
- bcs _081952C4
- mov r0, r10
- adds r1, r6, 0
- ldr r2, [sp, 0x18]
- bl sub_818F904
- b _081952F0
- .pool
-_081952C4:
- cmp r1, r0
- bne _081952F0
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- mov r3, r10
- lsls r0, r3, 2
- adds r0, r1, r0
- adds r0, r5
- ldrh r2, [r0]
- lsls r2, 22
- lsls r0, r6, 2
- adds r1, r0
- adds r1, r5
- ldrh r0, [r1]
- lsls r0, 22
- cmp r2, r0
- bls _081952F0
- mov r0, r10
- adds r1, r6, 0
- ldr r2, [sp, 0x18]
- bl sub_818F904
-_081952F0:
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0xF
- ble _08195288
-_081952F8:
- adds r7, 0x2
- movs r4, 0x1
- add r10, r4
- mov r5, r10
- cmp r5, 0xE
- ble _08195276
- ldr r0, [sp, 0x18]
- bl Free
- ldr r0, [sp, 0x1C]
- bl Free
- movs r0, 0
- mov r10, r0
-_08195314:
- mov r1, r10
- lsls r0, r1, 24
- lsrs r0, 24
- bl sub_8195438
- movs r2, 0x1
- add r10, r2
- mov r3, r10
- cmp r3, 0x3
- ble _08195314
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r4, =0x00000ca9
- adds r1, r4
- ldrb r2, [r1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- ldr r5, [sp, 0x14]
- orrs r0, r5
- strb r0, [r1]
-_0819533E:
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8194F58
-
- thumb_func_start sub_8195358
-sub_8195358: @ 8195358
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000d24
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- cmp r0, r3
- beq _0819538E
- adds r5, r4, 0
- adds r4, r1, 0
-_08195376:
- adds r2, 0x1
- cmp r2, 0xF
- bgt _0819538E
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r1
- adds r0, r4
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- cmp r0, r3
- bne _08195376
-_0819538E:
- adds r0, r2, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8195358
-
- thumb_func_start sub_81953A0
-sub_81953A0: @ 81953A0
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000d24
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- cmp r0, r3
- beq _081953D6
- adds r5, r4, 0
- adds r4, r1, 0
-_081953BE:
- adds r2, 0x1
- cmp r2, 0xF
- bgt _081953D6
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r1
- adds r0, r4
- ldrh r0, [r0]
- lsls r0, 22
- lsrs r0, 22
- cmp r0, r3
- bne _081953BE
-_081953D6:
- adds r0, r2, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81953A0
-
- thumb_func_start sub_81953E8
-sub_81953E8: @ 81953E8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_0860D1A0
- ldr r0, =gUnknown_0860D1C0
- adds r0, r4, r0
- ldrb r0, [r0]
- lsrs r0, 1
- lsls r0, 2
- adds r1, r0
- adds r1, r2
- ldrb r0, [r1]
- subs r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- bl sub_8192F08
- mov r0, sp
- ldrb r0, [r0]
- cmp r4, r0
- beq _0819542C
- mov r0, sp
- ldrb r0, [r0]
- b _08195430
- .pool
-_0819542C:
- mov r0, sp
- ldrb r0, [r0, 0x1]
-_08195430:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81953E8
-
- thumb_func_start sub_8195438
-sub_8195438: @ 8195438
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0xC]
- movs r1, 0
- str r1, [sp, 0x10]
- movs r5, 0
- movs r1, 0x3
- ldr r0, [sp]
- ands r0, r1
- lsls r0, 3
- str r0, [sp, 0x14]
-_0819545E:
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- lsls r4, r5, 2
- adds r1, r0, r4
- ldr r3, =0x00000d25
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, 29
- adds r2, r5, 0x1
- str r2, [sp, 0x24]
- cmp r0, 0
- bge _08195478
- b _08195876
-_08195478:
- subs r3, 0x1
- adds r0, r1, r3
- ldrh r0, [r0]
- lsls r1, r0, 22
- ldr r0, =0xffc00000
- cmp r1, r0
- bne _08195488
- b _08195876
-_08195488:
- str r5, [sp, 0x4]
- lsrs r1, 22
- ldr r0, [sp]
- bl sub_81901A0
- str r0, [sp, 0x8]
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- adds r0, r3, r4
- ldr r1, =0x00000d24
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 22
- ldr r1, =0xff800000
- cmp r0, r1
- bne _08195504
- ldr r2, [sp, 0x8]
- cmp r2, 0xFF
- beq _08195504
- lsls r2, 2
- adds r1, r3, r2
- ldr r3, =0x00000d25
- adds r1, r3
- ldrb r0, [r1]
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1]
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r1, r2
- ldr r2, =0x00000d25
- adds r1, r2
- ldrb r0, [r1]
- subs r3, 0x1D
- ands r0, r3
- ldr r2, [sp, 0x14]
- orrs r0, r2
- strb r0, [r1]
- adds r0, r5, 0
- ldr r1, [sp, 0x8]
- ldr r2, [sp]
- bl sub_8193ED0
- ldr r3, =gSaveBlock2Ptr
- ldr r1, [r3]
- ldr r5, [sp, 0x8]
- lsls r2, r5, 1
- movs r3, 0xEC
- lsls r3, 4
- adds r1, r3
- adds r1, r2
- b _08195874
- .pool
-_08195504:
- ldr r4, =gSaveBlock2Ptr
- ldr r3, [r4]
- ldr r0, [sp, 0x8]
- lsls r2, r0, 2
- adds r0, r3, r2
- ldr r1, =0x00000d24
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 22
- ldr r1, =0xff800000
- str r2, [sp, 0x30]
- cmp r0, r1
- bne _0819557C
- ldr r2, [sp, 0x4]
- cmp r2, 0xFF
- beq _0819557C
- lsls r2, 2
- adds r1, r3, r2
- ldr r3, =0x00000d25
- adds r1, r3
- ldrb r0, [r1]
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1]
- ldr r1, [r4]
- adds r1, r2
- ldr r0, =0x00000d25
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x19
- negs r2, r2
- ands r0, r2
- ldr r3, [sp, 0x14]
- orrs r0, r3
- strb r0, [r1]
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0x4]
- ldr r2, [sp]
- bl sub_8193ED0
- ldr r1, [r4]
- ldr r3, [sp, 0x4]
- lsls r2, r3, 1
- movs r3, 0xEC
- lsls r3, 4
- adds r1, r3
- adds r1, r2
- strh r0, [r1]
- adds r5, 0x1
- str r5, [sp, 0x24]
- b _08195876
- .pool
-_0819557C:
- adds r5, 0x1
- str r5, [sp, 0x24]
- ldr r5, [sp, 0x8]
- cmp r5, 0xFF
- bne _08195588
- b _08195876
-_08195588:
- movs r0, 0
- mov r10, r0
- lsls r1, r5, 1
- str r1, [sp, 0x2C]
- ldr r2, [sp, 0x4]
- lsls r2, 1
- str r2, [sp, 0x28]
- ldr r3, [sp, 0x4]
- adds r0, r2, r3
- lsls r0, 1
- mov r9, r0
- adds r0, r1, r5
- lsls r0, 1
- str r0, [sp, 0x18]
-_081955A4:
- movs r5, 0
- mov r0, r9
- str r0, [sp, 0x38]
-_081955AA:
- movs r6, 0
- lsls r7, r5, 1
- ldr r4, [sp, 0x18]
-_081955B0:
- ldr r2, =gSaveBlock2Ptr
- ldr r1, [r2]
- ldr r3, =0x00000d64
- adds r1, r3
- ldr r2, [sp, 0x38]
- adds r0, r1, r2
- ldrh r0, [r0]
- ldr r3, =gUnknown_0203BC8C
- mov r8, r3
- ldr r2, [r3]
- lsls r0, 4
- adds r0, r2
- adds r0, 0x2
- adds r0, r7
- ldrh r0, [r0]
- adds r1, r4
- ldrh r1, [r1]
- lsls r1, 4
- adds r1, r2
- ldrh r1, [r1]
- movs r2, 0x2
- bl sub_818FFC0
- ldr r1, [sp, 0xC]
- adds r1, r0
- str r1, [sp, 0xC]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x2
- ble _081955B0
- adds r5, 0x1
- cmp r5, 0x3
- ble _081955AA
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- ldr r3, =0x00000d64
- adds r0, r3
- add r0, r9
- ldrh r0, [r0]
- mov r5, r8
- ldr r1, [r5]
- lsls r0, 4
- adds r0, r1
- ldrh r2, [r0]
- ldr r0, =gBaseStats
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- ldrb r2, [r1, 0x1]
- adds r0, r2
- ldrb r2, [r1, 0x2]
- adds r0, r2
- ldrb r2, [r1, 0x3]
- adds r0, r2
- ldrb r3, [r1, 0x4]
- adds r0, r3
- ldrb r1, [r1, 0x5]
- adds r0, r1
- movs r1, 0xA
- bl __divsi3
- ldr r5, [sp, 0xC]
- adds r5, r0
- str r5, [sp, 0xC]
- movs r0, 0x2
- add r9, r0
- movs r1, 0x1
- add r10, r1
- mov r2, r10
- cmp r2, 0x2
- ble _081955A4
- bl Random
- movs r1, 0x1F
- ands r1, r0
- adds r5, r1
- ldr r3, [sp, 0x4]
- adds r5, r3
- str r5, [sp, 0xC]
- movs r5, 0
- mov r10, r5
- ldr r1, [sp, 0x2C]
- ldr r2, [sp, 0x8]
- adds r0, r1, r2
- lsls r0, 1
- str r0, [sp, 0x1C]
- ldr r5, [sp, 0x28]
- adds r0, r5, r3
- lsls r0, 1
- str r0, [sp, 0x20]
-_08195668:
- movs r5, 0
- mov r0, r10
- lsls r3, r0, 1
- movs r1, 0x1
- add r10, r1
- ldr r2, [sp, 0x1C]
- adds r2, r3
- mov r8, r2
-_08195678:
- movs r6, 0
- lsls r7, r5, 1
- adds r5, 0x1
- str r5, [sp, 0x3C]
- ldr r4, [sp, 0x20]
-_08195682:
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- ldr r0, =0x00000d64
- adds r1, r0
- mov r2, r8
- adds r0, r1, r2
- ldrh r0, [r0]
- ldr r5, =gUnknown_0203BC8C
- mov r9, r5
- ldr r2, [r5]
- lsls r0, 4
- adds r0, r2
- adds r0, 0x2
- adds r0, r7
- ldrh r0, [r0]
- adds r1, r4
- ldrh r1, [r1]
- lsls r1, 4
- adds r1, r2
- ldrh r1, [r1]
- movs r2, 0x2
- str r3, [sp, 0x34]
- bl sub_818FFC0
- ldr r1, [sp, 0x10]
- adds r1, r0
- str r1, [sp, 0x10]
- adds r4, 0x2
- adds r6, 0x1
- ldr r3, [sp, 0x34]
- cmp r6, 0x2
- ble _08195682
- ldr r5, [sp, 0x3C]
- cmp r5, 0x3
- ble _08195678
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- ldr r5, [sp, 0x1C]
- adds r1, r3, r5
- ldr r2, =0x00000d64
- adds r0, r2
- adds r0, r1
- ldrh r0, [r0]
- mov r3, r9
- ldr r1, [r3]
- lsls r0, 4
- adds r0, r1
- ldrh r2, [r0]
- ldr r0, =gBaseStats
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- ldrb r2, [r1, 0x1]
- adds r0, r2
- ldrb r5, [r1, 0x2]
- adds r0, r5
- ldrb r2, [r1, 0x3]
- adds r0, r2
- ldrb r2, [r1, 0x4]
- adds r0, r2
- ldrb r1, [r1, 0x5]
- adds r0, r1
- movs r1, 0xA
- bl __divsi3
- ldr r3, [sp, 0x10]
- adds r3, r0
- str r3, [sp, 0x10]
- mov r5, r10
- cmp r5, 0x2
- ble _08195668
- bl Random
- movs r1, 0x1F
- ands r1, r0
- ldr r0, [sp, 0x10]
- adds r0, r1
- ldr r1, [sp, 0x8]
- adds r0, r1
- str r0, [sp, 0x10]
- ldr r2, [sp, 0xC]
- cmp r2, r0
- ble _08195784
- ldr r3, =gSaveBlock2Ptr
- ldr r1, [r3]
- ldr r5, [sp, 0x30]
- adds r1, r5
- ldr r0, =0x00000d25
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r1, [r3]
- adds r1, r5
- ldr r3, =0x00000d25
- adds r1, r3
- ldrb r0, [r1]
- movs r5, 0x19
- negs r5, r5
- ands r0, r5
- ldr r2, [sp, 0x14]
- orrs r0, r2
- strb r0, [r1]
- ldr r0, [sp, 0x4]
- ldr r1, [sp, 0x8]
- ldr r2, [sp]
- bl sub_8193ED0
- ldr r3, =gSaveBlock2Ptr
- ldr r1, [r3]
- movs r5, 0xEC
- lsls r5, 4
- adds r1, r5
- ldr r2, [sp, 0x2C]
- adds r1, r2
- b _08195874
- .pool
-_08195784:
- ldr r3, [sp, 0xC]
- ldr r5, [sp, 0x10]
- cmp r3, r5
- bge _081957DC
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r3, [sp, 0x4]
- lsls r2, r3, 2
- adds r1, r2
- ldr r5, =0x00000d25
- adds r1, r5
- ldrb r0, [r1]
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1]
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- adds r1, r2
- ldr r0, =0x00000d25
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x19
- negs r2, r2
- ands r0, r2
- ldr r3, [sp, 0x14]
- orrs r0, r3
- strb r0, [r1]
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0x4]
- ldr r2, [sp]
- bl sub_8193ED0
- ldr r1, [r5]
- movs r5, 0xEC
- lsls r5, 4
- adds r1, r5
- ldr r2, [sp, 0x28]
- adds r1, r2
- b _08195874
- .pool
-_081957DC:
- ldr r3, [sp, 0x4]
- ldr r5, [sp, 0x8]
- cmp r3, r5
- ble _08195830
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, [sp, 0x30]
- adds r1, r2
- ldr r3, =0x00000d25
- adds r1, r3
- ldrb r0, [r1]
- movs r5, 0x4
- orrs r0, r5
- strb r0, [r1]
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r1, r2
- adds r1, r3
- ldrb r0, [r1]
- movs r2, 0x19
- negs r2, r2
- ands r0, r2
- ldr r3, [sp, 0x14]
- orrs r0, r3
- strb r0, [r1]
- ldr r0, [sp, 0x4]
- ldr r1, [sp, 0x8]
- ldr r2, [sp]
- bl sub_8193ED0
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- movs r2, 0xEC
- lsls r2, 4
- adds r1, r2
- ldr r3, [sp, 0x2C]
- b _08195872
- .pool
-_08195830:
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- ldr r0, [sp, 0x4]
- lsls r2, r0, 2
- adds r1, r2
- ldr r3, =0x00000d25
- adds r1, r3
- ldrb r0, [r1]
- movs r5, 0x4
- orrs r0, r5
- strb r0, [r1]
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r1, r2
- adds r1, r3
- ldrb r0, [r1]
- movs r2, 0x19
- negs r2, r2
- ands r0, r2
- ldr r3, [sp, 0x14]
- orrs r0, r3
- strb r0, [r1]
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0x4]
- ldr r2, [sp]
- bl sub_8193ED0
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- movs r2, 0xEC
- lsls r2, 4
- adds r1, r2
- ldr r3, [sp, 0x28]
-_08195872:
- adds r1, r3
-_08195874:
- strh r0, [r1]
-_08195876:
- ldr r5, [sp, 0x24]
- cmp r5, 0xF
- bgt _0819587E
- b _0819545E
-_0819587E:
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8195438
-
- thumb_func_start sub_8195898
-sub_8195898: @ 8195898
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- movs r4, 0
- bl sub_8165C40
- ldr r0, =0x000003fe
- cmp r5, r0
- bne _081958B8
- adds r0, r6, 0
- bl sub_8195938
- b _08195902
- .pool
-_081958B8:
- ldr r0, =0x000003ff
- cmp r5, r0
- bne _081958DC
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
-_081958C2:
- adds r0, r6, r4
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x6
- ble _081958C2
- b _081958FC
- .pool
-_081958DC:
- ldr r0, =0x0000012b
- cmp r5, r0
- bhi _081958FC
- ldr r0, =gUnknown_0203BC88
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r5
- adds r0, r1
- adds r2, r0, 0x4
-_081958EE:
- adds r0, r6, r4
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x6
- ble _081958EE
-_081958FC:
- adds r1, r6, r4
- movs r0, 0xFF
- strb r0, [r1]
-_08195902:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8195898
-
- thumb_func_start sub_8195910
-sub_8195910: @ 8195910
- ldr r0, =gTrainers
- ldr r1, =0x00007df3
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8195910
-
- thumb_func_start sub_8195924
-sub_8195924: @ 8195924
- ldr r0, =gTrainers
- ldr r1, =0x00007df1
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8195924
-
- thumb_func_start sub_8195938
-sub_8195938: @ 8195938
- push {r4,lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r4, =(gTrainers + 806 * 0x28 + 0x4) @ TRAINER_TUCKER name
-_08195940:
- adds r0, r3, r2
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x6
- ble _08195940
- adds r1, r3, r2
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8195938
-
- thumb_func_start sub_8195960
-sub_8195960: @ 8195960
- push {lr}
- ldr r1, =gUnknown_0860DE50
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8195960
-
- thumb_func_start sub_8195980
-sub_8195980: @ 8195980
- push {r4-r7,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r5, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, [r4]
- ldr r2, =0x00000ca8
- adds r0, r2
- movs r6, 0
- strb r6, [r0]
- ldr r1, [r4]
- adds r2, 0xA
- adds r0, r1, r2
- strh r6, [r0]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r4]
- ldr r2, =0x00000ca9
- adds r1, r2
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r4, [r4]
- ldr r0, =0x00000cdc
- adds r3, r4, r0
- ldr r2, =gUnknown_0860DE98
- lsls r1, r5, 2
- lsls r0, r7, 3
- adds r1, r0
- adds r1, r2
- ldr r0, [r3]
- ldr r1, [r1]
- ands r0, r1
- cmp r0, 0
- bne _081959F2
- lsls r0, r5, 1
- lsls r1, r7, 2
- adds r0, r1
- ldr r2, =0x00000dc8
- adds r1, r4, r2
- adds r1, r0
- strh r6, [r1]
-_081959F2:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- movs r3, 0x1
- negs r3, r3
- movs r0, 0
- bl saved_warp2_set
- ldr r0, =gTrainerBattleOpponent_A
- strh r6, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8195980
-
- thumb_func_start sub_8195A38
-sub_8195A38: @ 8195A38
- push {r4-r7,lr}
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r7, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _08195A90
- cmp r0, 0x1
- bgt _08195A74
- cmp r0, 0
- beq _08195A7A
- b _08195AD0
- .pool
-_08195A74:
- cmp r0, 0x2
- beq _08195AB0
- b _08195AD0
-_08195A7A:
- ldr r0, =gSpecialVar_Result
- ldr r1, [r5]
- ldr r2, =0x00000dc6
- adds r1, r2
- ldrh r1, [r1]
- strh r1, [r0]
- b _08195AD0
- .pool
-_08195A90:
- ldr r3, =gSpecialVar_Result
- ldr r0, [r5]
- lsls r1, r7, 1
- lsls r2, r6, 2
- adds r1, r2
- ldr r2, =0x00000dc8
- adds r0, r2
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3]
- b _08195AD0
- .pool
-_08195AB0:
- ldr r4, =gSpecialVar_Result
- ldr r2, [r5]
- ldr r0, =0x00000cdc
- adds r2, r0
- ldr r3, =gUnknown_0860DE98
- lsls r0, r7, 2
- lsls r1, r6, 3
- adds r0, r1
- adds r0, r3
- ldr r1, [r2]
- ldr r0, [r0]
- ands r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- strh r0, [r4]
-_08195AD0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8195A38
-
- thumb_func_start sub_8195AE4
-sub_8195AE4: @ 8195AE4
- push {r4-r6,lr}
- ldr r6, =gSaveBlock2Ptr
- ldr r0, [r6]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r5, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _08195B3C
- cmp r0, 0x1
- bgt _08195B20
- cmp r0, 0
- beq _08195B26
- b _08195BA0
- .pool
-_08195B20:
- cmp r0, 0x2
- beq _08195B5C
- b _08195BA0
-_08195B26:
- ldr r0, [r6]
- ldr r1, =gSpecialVar_0x8006
- ldrh r1, [r1]
- ldr r2, =0x00000dc6
- adds r0, r2
- strh r1, [r0]
- b _08195BA0
- .pool
-_08195B3C:
- ldr r2, [r6]
- lsls r0, r5, 1
- lsls r1, r4, 2
- adds r0, r1
- ldr r1, =0x00000dc8
- adds r2, r1
- adds r2, r0
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- strh r0, [r2]
- b _08195BA0
- .pool
-_08195B5C:
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- cmp r0, 0
- beq _08195B88
- ldr r2, [r6]
- ldr r0, =0x00000cdc
- adds r2, r0
- ldr r3, =gUnknown_0860DE98
- lsls r1, r5, 2
- lsls r0, r4, 3
- adds r1, r0
- adds r1, r3
- ldr r0, [r2]
- ldr r1, [r1]
- orrs r0, r1
- b _08195B9E
- .pool
-_08195B88:
- ldr r2, [r6]
- ldr r1, =0x00000cdc
- adds r2, r1
- ldr r3, =gUnknown_0860DEA8
- lsls r1, r5, 2
- lsls r0, r4, 3
- adds r1, r0
- adds r1, r3
- ldr r0, [r2]
- ldr r1, [r1]
- ands r0, r1
-_08195B9E:
- str r0, [r2]
-_08195BA0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8195AE4
-
- thumb_func_start sub_8195BB0
-sub_8195BB0: @ 8195BB0
- push {r4,lr}
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- ldr r1, =gSaveBlock2Ptr
- ldr r2, [r1]
- ldr r3, =0x00000ca9
- adds r1, r2, r3
- ldrb r1, [r1]
- lsls r1, 30
- lsrs r1, 29
- lsrs r0, 14
- adds r1, r0
- ldr r0, =0x00000dc8
- adds r2, r0
- adds r2, r1
- ldrh r0, [r2]
- cmp r0, 0x31
- bhi _08195C00
- ldr r4, =gSpecialVar_Result
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- strh r0, [r4]
- b _08195C16
- .pool
-_08195C00:
- cmp r0, 0x62
- bhi _08195C10
- ldr r1, =gSpecialVar_Result
- movs r0, 0x3
- b _08195C14
- .pool
-_08195C10:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x4
-_08195C14:
- strh r0, [r1]
-_08195C16:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8195BB0
-
- thumb_func_start sub_8195C20
-sub_8195C20: @ 8195C20
- push {r4,lr}
- ldr r4, =gTrainerBattleOpponent_A
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xFF
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 2
- adds r1, r0
- lsrs r1, 6
- strh r1, [r4]
- ldrh r0, [r4]
- movs r1, 0
- bl sub_8162614
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8195C20
-
- thumb_func_start sub_8195C50
-sub_8195C50: @ 8195C50
- push {lr}
- ldr r3, =gTrainerBattleOpponent_A
- ldrh r1, [r3]
- ldr r0, =0x0000012b
- cmp r1, r0
- bhi _08195C6C
- ldr r2, =gUnknown_0203BC88
- movs r0, 0x34
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- adds r0, 0xC
- bl ConvertBattleFrontierTrainerSpeechToString
-_08195C6C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8195C50
thumb_func_start sub_8195C7C
sub_8195C7C: @ 8195C7C
diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s
index 7e72aaf76..1a2233a97 100644
--- a/asm/battle_frontier_2.s
+++ b/asm/battle_frontier_2.s
@@ -1867,7 +1867,7 @@ sub_819B484: @ 819B484
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x18]
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, =gBattleFrontierMons
str r0, [r1]
ldrb r1, [r4]
@@ -1948,7 +1948,7 @@ _0819B572:
ldr r0, [r2]
adds r0, r4
adds r0, 0x8
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r2, [r1]
lsls r5, 4
adds r2, r5, r2
@@ -1973,7 +1973,7 @@ _0819B5B8:
ldr r0, [r3]
adds r0, r4
adds r0, 0x8
- ldr r5, =gUnknown_0203BC8C
+ ldr r5, =gFacilityTrainerMons
ldr r1, [r5]
adds r1, r7, r1
lsls r2, r6, 1
@@ -2045,7 +2045,7 @@ sub_819B63C: @ 819B63C
add r0, sp, 0xC
movs r1, 0
strb r1, [r0]
- ldr r2, =gUnknown_0203BC8C
+ ldr r2, =gFacilityTrainerMons
ldr r0, =gSlateportBattleTentMons
str r0, [r2]
ldr r0, =gSaveBlock2Ptr
@@ -2089,7 +2089,7 @@ _0819B678:
adds r4, 0xC
adds r0, r4
adds r0, 0x8
- ldr r3, =gUnknown_0203BC8C
+ ldr r3, =gFacilityTrainerMons
ldr r2, [r3]
mov r7, r8
lsls r5, r7, 4
@@ -2114,7 +2114,7 @@ _0819B6D4:
ldr r0, [r1]
adds r0, r4
adds r0, 0x8
- ldr r3, =gUnknown_0203BC8C
+ ldr r3, =gFacilityTrainerMons
ldr r2, [r3]
mov r3, r8
lsls r1, r3, 4
@@ -2145,7 +2145,7 @@ _0819B6D4:
ldr r0, [r2]
adds r0, r4
adds r0, 0x8
- ldr r3, =gUnknown_0203BC8C
+ ldr r3, =gFacilityTrainerMons
ldr r1, [r3]
adds r1, r5, r1
ldrb r2, [r1, 0xA]
@@ -2935,7 +2935,7 @@ sub_819BD70: @ 819BD70
adds r0, r5, 0
mov r2, r8
movs r3, 0x1
- bl sub_818D7D8
+ bl CreateMonPicSprite_HandleDeoxys
ldr r1, [r6]
movs r2, 0xA6
lsls r2, 2
@@ -3053,7 +3053,7 @@ sub_819BE34: @ 819BE34
adds r0, r5, 0
mov r2, r9
movs r3, 0x1
- bl sub_818D7D8
+ bl CreateMonPicSprite_HandleDeoxys
ldr r1, [r6]
movs r2, 0xA6
lsls r2, 2
@@ -3166,7 +3166,7 @@ _0819BF48:
adds r0, r5, 0
adds r2, r6, 0
movs r3, 0x1
- bl sub_818D7D8
+ bl CreateMonPicSprite_HandleDeoxys
mov r2, r9
ldr r1, [r2]
add r1, r8
@@ -3846,19 +3846,19 @@ sub_819C568: @ 819C568
lsls r1, 2
adds r0, r1
ldrb r0, [r0]
- bl sub_818D820
+ bl FreeAndDestroyMonPicSprite
ldr r0, [r4]
movs r1, 0xA6
lsls r1, 2
adds r0, r1
ldrb r0, [r0]
- bl sub_818D820
+ bl FreeAndDestroyMonPicSprite
ldr r0, [r4]
movs r1, 0xA7
lsls r1, 2
adds r0, r1
ldrb r0, [r0]
- bl sub_818D820
+ bl FreeAndDestroyMonPicSprite
ldr r0, =sub_819C2D4
movs r1, 0x1
bl CreateTask
@@ -3936,7 +3936,7 @@ sub_819C5D0: @ 819C5D0
sub_819C634: @ 819C634
push {r4-r7,lr}
lsls r0, 16
- ldr r2, =gUnknown_0203BC8C
+ ldr r2, =gFacilityTrainerMons
ldr r1, [r2]
lsrs r0, 12
adds r0, r1
@@ -6709,7 +6709,7 @@ _0819DDA8:
bl ResetSpriteData
bl ResetTasks
bl FreeAllSpritePalettes
- bl dp13_810BB8C
+ bl ResetAllPicSprites
ldr r0, =gFrontierFactorySelectMenu_Gfx
ldr r5, =gUnknown_0203CE40
ldr r1, [r5]
@@ -9315,7 +9315,7 @@ sub_819F304: @ 819F304
adds r0, r5, 0
mov r1, r9
movs r3, 0x1
- bl sub_818D7D8
+ bl CreateMonPicSprite_HandleDeoxys
ldr r1, [r6]
adds r1, 0x2C
strb r0, [r1]
@@ -9370,7 +9370,7 @@ sub_819F3F8: @ 819F3F8
lsrs r5, 24
lsls r0, r4, 24
lsrs r0, 24
- bl sub_818D820
+ bl FreeAndDestroyMonPicSprite
ldr r0, =sub_819F7B4
movs r1, 0x1
bl CreateTask
@@ -9403,7 +9403,7 @@ sub_819F444: @ 819F444
adds r6, r1, 0
lsls r0, r4, 24
lsrs r0, 24
- bl sub_818D820
+ bl FreeAndDestroyMonPicSprite
ldr r5, =gSprites
lsls r4, 16
lsrs r1, r4, 24
@@ -9996,7 +9996,7 @@ _0819F908:
adds r0, r4, 0
adds r2, r5, 0
movs r3, 0x1
- bl sub_818D7D8
+ bl CreateMonPicSprite_HandleDeoxys
ldr r2, =gUnknown_03001284
ldr r1, [r2]
adds r1, 0x2C
@@ -14195,7 +14195,7 @@ sub_81A1B1C: @ 81A1B1C
thumb_func_start sub_81A1B28
sub_81A1B28: @ 81A1B28
- ldr r1, =gUnknown_0203BC88
+ ldr r1, =gFacilityTrainers
ldr r0, =gBattleFrontierTrainers
str r0, [r1]
bx lr
@@ -17391,7 +17391,7 @@ _081A370C:
ldr r0, =0x0000012b
cmp r3, r0
bhi _081A3738
- ldr r2, =gUnknown_0203BC88
+ ldr r2, =gFacilityTrainers
movs r0, 0x34
adds r1, r3, 0
muls r1, r0
@@ -17443,7 +17443,7 @@ _081A3794:
ldr r0, =0x0000012b
cmp r3, r0
bhi _081A37B8
- ldr r2, =gUnknown_0203BC88
+ ldr r2, =gFacilityTrainers
movs r0, 0x34
adds r1, r3, 0
muls r1, r0
@@ -17511,7 +17511,7 @@ _081A3844:
ldr r0, =0x0000012b
cmp r3, r0
bhi _081A3868
- ldr r2, =gUnknown_0203BC88
+ ldr r2, =gFacilityTrainers
movs r0, 0x34
adds r1, r3, 0
muls r1, r0
@@ -20046,10 +20046,10 @@ sub_81A4E04: @ 81A4E04
cmp r0, 0x1
bne _081A4E44
ldr r0, =0x000003fe
- bl sub_81953A0
+ bl TrainerIdToDomeTournamentId
lsls r0, 16
lsrs r0, 16
- bl sub_818FC78
+ bl GetTrainerMonCountInBits
adds r4, r0, 0
b _081A4E46
.pool
@@ -20059,7 +20059,7 @@ _081A4E46:
bl ZeroEnemyPartyMons
movs r1, 0
str r1, [sp, 0x18]
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x1C]
@@ -22329,7 +22329,7 @@ sub_81A61B0: @ 81A61B0
ldrh r0, [r1]
movs r1, 0x7
bl __udivsi3
- ldr r2, =gUnknown_0203BC88
+ ldr r2, =gFacilityTrainers
ldr r1, =gBattleFrontierTrainers
str r1, [r2]
ldr r5, =0x00000cb2
@@ -22413,7 +22413,7 @@ _081A627A:
lsls r0, 16
lsrs r0, 16
mov r9, r0
- ldr r4, =gUnknown_0203BC8C
+ ldr r4, =gFacilityTrainerMons
ldr r2, [r4]
lsls r1, r0, 4
adds r0, r1, r2
@@ -22458,7 +22458,7 @@ _081A62D0:
cmp r0, r5
beq _081A6302
adds r6, r4, 0
- ldr r3, =gUnknown_0203BC8C
+ ldr r3, =gFacilityTrainerMons
mov r12, r3
mov r5, r8
ldr r3, [sp, 0x14]
@@ -22493,7 +22493,7 @@ _081A631C:
ldrh r1, [r3]
cmp r1, 0
beq _081A6336
- ldr r6, =gUnknown_0203BC8C
+ ldr r6, =gFacilityTrainerMons
ldr r0, [r6]
ldr r6, [sp, 0x24]
adds r0, r6, r0
@@ -22512,7 +22512,7 @@ _081A633E:
cmp r2, r4
bne _081A636E
lsls r4, r7, 1
- ldr r0, =gUnknown_0203BC8C
+ ldr r0, =gFacilityTrainerMons
ldr r1, [r0]
add r1, r8
ldrh r0, [r1]
@@ -22573,12 +22573,12 @@ sub_81A63CC: @ 81A63CC
ands r0, r1
cmp r0, 0x2
beq _081A63FC
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, =gBattleFrontierMons
b _081A6400
.pool
_081A63FC:
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, =gSlateportBattleTentMons
_081A6400:
str r0, [r1]
@@ -22637,7 +22637,7 @@ _081A6408:
adds r1, r2
strb r0, [r1]
ldrh r1, [r6]
- ldr r0, =gUnknown_0203BC8C
+ ldr r0, =gFacilityTrainerMons
ldr r0, [r0]
lsls r1, 4
adds r1, r0
@@ -22679,7 +22679,7 @@ sub_81A64C4: @ 81A64C4
ands r0, r1
cmp r0, 0x2
bne _081A6500
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, =gSlateportBattleTentMons
str r0, [r1]
movs r2, 0x1E
@@ -22687,7 +22687,7 @@ sub_81A64C4: @ 81A64C4
b _081A6518
.pool
_081A6500:
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, =gBattleFrontierMons
str r0, [r1]
ldrb r1, [r2]
@@ -22712,7 +22712,7 @@ _081A6522:
mov r1, sp
adds r1, 0x12
str r1, [sp, 0x1C]
- ldr r2, =gUnknown_0203BC8C
+ ldr r2, =gFacilityTrainerMons
mov r9, r2
_081A6534:
ldr r4, =gSaveBlock2Ptr
@@ -22879,7 +22879,7 @@ _081A666C:
_081A667A:
movs r2, 0
mov r8, r2
- ldr r4, =gUnknown_0203BC8C
+ ldr r4, =gFacilityTrainerMons
mov r9, r4
_081A6682:
ldr r5, =gSaveBlock2Ptr
@@ -23050,7 +23050,7 @@ sub_81A67EC: @ 81A67EC
mov r5, r8
push {r5-r7}
sub sp, 0x4C
- ldr r1, =gUnknown_0203BC88
+ ldr r1, =gFacilityTrainers
ldr r0, =gBattleFrontierTrainers
str r0, [r1]
mov r0, sp
@@ -23113,7 +23113,7 @@ _081A681A:
bne _081A6878
movs r2, 0x1
_081A6878:
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, =gBattleFrontierMons
str r0, [r1]
mov r1, r9
@@ -23166,7 +23166,7 @@ _081A68F2:
bl sub_81A6EF0
lsls r0, 16
lsrs r7, r0, 16
- ldr r0, =gUnknown_0203BC8C
+ ldr r0, =gFacilityTrainerMons
ldr r1, [r0]
lsls r2, r7, 4
adds r4, r2, r1
@@ -23226,7 +23226,7 @@ _081A6964:
ldrh r4, [r5]
cmp r4, 0
beq _081A6994
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, [r1]
mov r2, r9
adds r1, r2, r0
@@ -23262,7 +23262,7 @@ _081A699C:
lsls r0, 4
adds r1, r0
strh r7, [r1]
- ldr r2, =gUnknown_0203BC8C
+ ldr r2, =gFacilityTrainerMons
ldr r1, [r2]
add r1, r9
ldrh r0, [r1]
@@ -23307,7 +23307,7 @@ sub_81A6A08: @ 81A6A08
mov r7, r8
push {r7}
sub sp, 0x18
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, =gBattleFrontierMons
str r0, [r1]
movs r4, 0
@@ -23326,7 +23326,7 @@ _081A6A1E:
movs r4, 0
ldr r0, =gUnknown_03006298
mov r8, r0
- ldr r0, =gUnknown_0203BC8C
+ ldr r0, =gFacilityTrainerMons
ldr r6, [r0]
ldr r1, =gBaseStats
mov r12, r1
@@ -23423,7 +23423,7 @@ sub_81A6AEC: @ 81A6AEC
push {r4-r7,lr}
sub sp, 0x8
movs r7, 0
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, =gBattleFrontierMons
str r0, [r1]
movs r4, 0
@@ -23445,7 +23445,7 @@ _081A6B0E:
ldrh r6, [r0]
movs r5, 0
_081A6B18:
- ldr r0, =gUnknown_0203BC8C
+ ldr r0, =gFacilityTrainerMons
ldr r1, [r0]
lsls r0, r6, 4
adds r0, r1
@@ -23590,12 +23590,12 @@ sub_81A6C1C: @ 81A6C1C
ands r0, r1
cmp r0, 0x2
beq _081A6C48
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, =gBattleFrontierMons
b _081A6C4C
.pool
_081A6C48:
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, =gSlateportBattleTentMons
_081A6C4C:
str r0, [r1]
@@ -23615,7 +23615,7 @@ _081A6C50:
lsls r1, 4
adds r2, r1
ldrh r2, [r2]
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r1, [r1]
lsls r2, 4
adds r2, r1
@@ -23702,7 +23702,7 @@ sub_81A6CD0: @ 81A6CD0
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x24]
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x20]
@@ -23727,7 +23727,7 @@ _081A6D4C:
bl sub_81A6EF0
lsls r0, 16
lsrs r5, r0, 16
- ldr r7, =gUnknown_0203BC8C
+ ldr r7, =gFacilityTrainerMons
ldr r1, [r7]
lsls r0, r5, 4
adds r0, r1
@@ -23775,7 +23775,7 @@ _081A6DA8:
cmp r4, r9
bge _081A6DDC
add r2, sp, 0xC
- ldr r7, =gUnknown_0203BC8C
+ ldr r7, =gFacilityTrainerMons
ldr r0, [r7]
lsls r1, r5, 4
adds r0, r1, r0
@@ -23784,7 +23784,7 @@ _081A6DA8:
ldrh r0, [r0]
cmp r2, r0
beq _081A6DDC
- ldr r6, =gUnknown_0203BC8C
+ ldr r6, =gFacilityTrainerMons
adds r3, r7, 0
add r2, sp, 0xC
_081A6DC8:
@@ -23805,7 +23805,7 @@ _081A6DDC:
cmp r4, r9
bge _081A6E0C
ldr r7, =gBattleFrontierHeldItems
- ldr r6, =gUnknown_0203BC8C
+ ldr r6, =gFacilityTrainerMons
add r2, sp, 0x14
lsls r3, r5, 4
_081A6DEE:
@@ -23833,7 +23833,7 @@ _081A6E0C:
mov r1, sp
adds r1, r2
adds r1, 0xC
- ldr r3, =gUnknown_0203BC8C
+ ldr r3, =gFacilityTrainerMons
ldr r4, [r3]
lsls r5, 4
mov r8, r5
@@ -23875,7 +23875,7 @@ _081A6E0C:
add r0, r9
mov r8, r0
_081A6E6E:
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, [r1]
adds r0, r7, r0
lsls r1, r4, 1
@@ -23898,7 +23898,7 @@ _081A6E6E:
movs r1, 0x20
mov r2, r10
bl SetMonData
- ldr r2, =gUnknown_0203BC8C
+ ldr r2, =gFacilityTrainerMons
ldr r0, [r2]
adds r0, r7, r0
ldrb r2, [r0, 0xA]
@@ -26455,7 +26455,7 @@ _081A831A:
bne _081A82D2
ldr r5, =gTrainerBattleOpponent_A
strh r4, [r5]
- ldr r1, =gUnknown_0203BC88
+ ldr r1, =gFacilityTrainers
ldr r0, =gBattleFrontierTrainers
str r0, [r1]
ldrh r0, [r5]
@@ -26500,7 +26500,7 @@ sub_81A8374: @ 81A8374
bl __udivsi3
lsls r0, 16
lsrs r5, r0, 16
- ldr r1, =gUnknown_0203BC88
+ ldr r1, =gFacilityTrainers
ldr r0, =gBattleFrontierTrainers
str r0, [r1]
lsls r7, r5, 24
@@ -26667,7 +26667,7 @@ sub_81A84EC: @ 81A84EC
ldr r0, =0x0000012b
cmp r1, r0
bhi _081A8542
- ldr r2, =gUnknown_0203BC88
+ ldr r2, =gFacilityTrainers
movs r0, 0x34
muls r1, r0
ldr r0, [r2]
@@ -26684,7 +26684,7 @@ _081A8524:
ldr r0, =0x0000012b
cmp r1, r0
bhi _081A8542
- ldr r2, =gUnknown_0203BC88
+ ldr r2, =gFacilityTrainers
movs r0, 0x34
muls r1, r0
ldr r0, [r2]
@@ -28498,7 +28498,7 @@ _081A940A:
thumb_func_start sub_81A9414
sub_81A9414: @ 81A9414
- ldr r1, =gUnknown_0203BC88
+ ldr r1, =gFacilityTrainers
ldr r0, =gBattleFrontierTrainers
str r0, [r1]
bx lr
@@ -28534,7 +28534,7 @@ sub_81A9424: @ 81A9424
lsrs r5, r0, 16
movs r6, 0
ldr r2, =gUnknown_08613C1C
- ldr r0, =gUnknown_0203BC88
+ ldr r0, =gFacilityTrainers
ldr r1, [r0]
movs r0, 0x34
muls r0, r5
@@ -28554,7 +28554,7 @@ _081A9488:
ldr r4, =gUnknown_08613C1C
lsls r3, r6, 1
adds r2, r3, r4
- ldr r0, =gUnknown_0203BC88
+ ldr r0, =gFacilityTrainers
ldr r1, [r0]
movs r0, 0x34
muls r0, r5
@@ -29517,7 +29517,7 @@ _081A9C56:
bl SetMonData
cmp r5, 0
beq _081A9CD4
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
lsls r0, 24
lsrs r5, r0, 24
ldr r1, [sp, 0x10]
@@ -29795,7 +29795,7 @@ sub_81A9EDC: @ 81A9EDC
push {lr}
lsls r0, 16
lsrs r0, 16
- ldr r2, =gUnknown_0203BC88
+ ldr r2, =gFacilityTrainers
movs r1, 0x34
muls r1, r0
ldr r0, [r2]
@@ -29812,7 +29812,7 @@ sub_81A9EFC: @ 81A9EFC
push {lr}
lsls r0, 16
lsrs r0, 16
- ldr r2, =gUnknown_0203BC88
+ ldr r2, =gFacilityTrainers
movs r1, 0x34
muls r1, r0
ldr r0, [r2]
@@ -29829,7 +29829,7 @@ sub_81A9F1C: @ 81A9F1C
push {lr}
lsls r0, 16
lsrs r0, 16
- ldr r2, =gUnknown_0203BC88
+ ldr r2, =gFacilityTrainers
movs r1, 0x34
muls r1, r0
ldr r0, [r2]
@@ -29848,7 +29848,7 @@ GetTrainerEncounterMusicIdInBattlePyramind: @ 81A9F3C
lsrs r0, 16
movs r4, 0
ldr r3, =gFacilityClassToTrainerClass
- ldr r1, =gUnknown_0203BC88
+ ldr r1, =gFacilityTrainers
ldr r2, [r1]
movs r1, 0x34
muls r0, r1
diff --git a/asm/battle_pyramid.s b/asm/battle_pyramid_bag.s
index ea07fdd0a..ea07fdd0a 100644
--- a/asm/battle_pyramid.s
+++ b/asm/battle_pyramid_bag.s
diff --git a/asm/battle_tent.s b/asm/battle_tent.s
index c967390d0..8de98850f 100644
--- a/asm/battle_tent.s
+++ b/asm/battle_tent.s
@@ -6,194 +6,6 @@
.text
- thumb_func_start sub_81B9EC0
-sub_81B9EC0: @ 81B9EC0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x3C
- ldr r1, =gUnknown_0203BC88
- ldr r0, =gSlateportBattleTentTrainers
- str r0, [r1]
- add r0, sp, 0xC
- mov r9, r0
- mov r1, sp
- adds r1, 0x18
- str r1, [sp, 0x2C]
- ldr r5, =gUnknown_0203BC8C
- ldr r4, =gSlateportBattleTentMons
- movs r2, 0
- adds r3, r1, 0
- mov r1, r9
- mov r0, sp
- movs r6, 0x5
- mov r8, r6
-_081B9EEC:
- strh r2, [r0]
- strh r2, [r1]
- strh r2, [r3]
- adds r3, 0x2
- adds r1, 0x2
- adds r0, 0x2
- movs r7, 0x1
- negs r7, r7
- add r8, r7
- mov r6, r8
- cmp r6, 0
- bge _081B9EEC
- str r4, [r5]
- movs r7, 0
- mov r10, r7
- movs r0, 0
- mov r8, r0
- ldr r1, [sp, 0x2C]
- str r1, [sp, 0x30]
- mov r2, sp
- str r2, [sp, 0x34]
- lsls r6, r0, 1
- str r6, [sp, 0x24]
- add r6, r9
- str r6, [sp, 0x28]
-_081B9F1E:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x46
- bl __umodsi3
- lsls r0, 16
- lsrs r5, r0, 16
- movs r2, 0
- mov r7, r8
- adds r6, r2, r7
- cmp r2, r6
- bge _081B9F7C
- ldr r1, [sp, 0x28]
- ldrh r0, [r1]
- cmp r0, r5
- beq _081B9F7C
- ldr r0, =gUnknown_0203BC8C
- ldr r1, [r0]
- lsls r0, r5, 4
- adds r4, r0, r1
- ldrh r7, [r4]
- mov r12, r7
- lsls r3, r2, 1
- ldr r1, [sp, 0x24]
- add r1, sp
- str r6, [sp, 0x38]
-_081B9F56:
- ldrh r0, [r1]
- cmp r0, r12
- bne _081B9F66
- mov r0, r10
- cmp r0, 0
- bne _081B9F7C
- ldrh r7, [r4]
- mov r10, r7
-_081B9F66:
- adds r3, 0x2
- adds r1, 0x2
- adds r2, 0x1
- ldr r0, [sp, 0x38]
- cmp r2, r0
- bge _081B9F7C
- mov r7, r9
- adds r0, r7, r3
- ldrh r0, [r0]
- cmp r0, r5
- bne _081B9F56
-_081B9F7C:
- cmp r2, r6
- bne _081BA01C
- movs r2, 0
- cmp r2, r6
- bge _081B9FD4
- ldr r0, =gBattleFrontierHeldItems
- mov r12, r0
- ldr r7, =gUnknown_0203BC8C
- ldr r1, [sp, 0x24]
- ldr r0, [sp, 0x2C]
- adds r4, r1, r0
-_081B9F92:
- ldrh r3, [r4]
- cmp r3, 0
- beq _081B9FCC
- ldr r1, [r7]
- lsls r0, r5, 4
- adds r1, r0, r1
- ldrb r0, [r1, 0xA]
- lsls r0, 1
- add r0, r12
- ldrh r0, [r0]
- cmp r3, r0
- bne _081B9FCC
- ldrh r0, [r1]
- cmp r0, r10
- bne _081B9FD4
- movs r1, 0
- mov r10, r1
- b _081B9FD4
- .pool
-_081B9FCC:
- adds r4, 0x2
- adds r2, 0x1
- cmp r2, r6
- blt _081B9F92
-_081B9FD4:
- cmp r2, r6
- bne _081BA01C
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- mov r2, r8
- lsls r3, r2, 1
- adds r0, r3, r2
- lsls r0, 2
- adds r1, r0
- movs r6, 0xE7
- lsls r6, 4
- adds r1, r6
- strh r5, [r1]
- ldr r0, =gUnknown_0203BC8C
- ldr r0, [r0]
- lsls r1, r5, 4
- adds r1, r0
- ldrh r0, [r1]
- ldr r7, [sp, 0x34]
- strh r0, [r7]
- ldr r2, =gBattleFrontierHeldItems
- ldrb r0, [r1, 0xA]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- ldr r1, [sp, 0x30]
- strh r0, [r1]
- add r3, r9
- strh r5, [r3]
- adds r1, 0x2
- str r1, [sp, 0x30]
- adds r2, r7, 0
- adds r2, 0x2
- str r2, [sp, 0x34]
- movs r6, 0x1
- add r8, r6
-_081BA01C:
- mov r7, r8
- cmp r7, 0x6
- beq _081BA024
- b _081B9F1E
-_081BA024:
- add sp, 0x3C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9EC0
thumb_func_start sub_81BA040
sub_81BA040: @ 81BA040
@@ -205,10 +17,10 @@ sub_81BA040: @ 81BA040
sub sp, 0x10
movs r0, 0
mov r10, r0
- ldr r1, =gUnknown_0203BC88
+ ldr r1, =gFacilityTrainers
ldr r0, =gSlateportBattleTentTrainers
str r0, [r1]
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, =gSlateportBattleTentMons
str r0, [r1]
ldr r7, =gSaveBlock2Ptr
@@ -261,7 +73,7 @@ _081BA0AA:
ldr r2, =gTrainerBattleOpponent_A
strh r3, [r2]
ldrh r3, [r2]
- ldr r4, =gUnknown_0203BC88
+ ldr r4, =gFacilityTrainers
ldr r1, [r4]
movs r0, 0x34
muls r0, r3
@@ -324,7 +136,7 @@ _081BA13E:
strh r0, [r7]
movs r2, 0
ldrh r0, [r7]
- ldr r4, =gUnknown_0203BC8C
+ ldr r4, =gFacilityTrainerMons
ldr r3, [r4]
lsls r0, 4
adds r0, r3
@@ -356,7 +168,7 @@ _081BA180:
cmp r0, r6
beq _081BA1B0
ldr r6, =gUnknown_03001298
- ldr r3, =gUnknown_0203BC8C
+ ldr r3, =gFacilityTrainerMons
mov r2, sp
_081BA198:
adds r2, 0x2
@@ -386,7 +198,7 @@ _081BA1C0:
beq _081BA1DE
ldr r1, =gUnknown_03001298
ldrh r0, [r1]
- ldr r6, =gUnknown_0203BC8C
+ ldr r6, =gFacilityTrainerMons
ldr r1, [r6]
lsls r0, 4
adds r0, r1
@@ -406,7 +218,7 @@ _081BA1E6:
bne _081BA220
lsls r2, r5, 1
ldrh r0, [r7]
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r4, [r1]
lsls r0, 4
adds r0, r4
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index 7340ea1ce..f24069307 100644
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -5,261 +5,8 @@
.text
- thumb_func_start sub_8161F74
-sub_8161F74: @ 8161F74
- push {lr}
- ldr r1, =gUnknown_085DF96C
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8161F74
- thumb_func_start sub_8161F94
-sub_8161F94: @ 8161F94
- push {r4-r7,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r5, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, [r4]
- ldr r2, =0x00000ca8
- adds r0, r2
- movs r7, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, [r4]
- adds r2, 0xA
- adds r0, r1, r2
- strh r7, [r0]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r4]
- ldr r2, =0x00000ca9
- adds r1, r2
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- bl sub_81A3ACC
- ldr r4, [r4]
- ldr r0, =0x00000cdc
- adds r3, r4, r0
- ldr r2, =gUnknown_085DF9AC
- lsls r1, r5, 2
- lsls r0, r6, 3
- adds r1, r0
- adds r1, r2
- ldr r0, [r3]
- ldr r1, [r1]
- ands r0, r1
- cmp r0, 0
- bne _0816200E
- lsls r0, r5, 1
- lsls r1, r6, 2
- adds r0, r1
- movs r2, 0xCE
- lsls r2, 4
- adds r1, r4, r2
- adds r1, r0
- strh r7, [r1]
-_0816200E:
- bl sub_8164ED8
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- movs r3, 0x1
- negs r3, r3
- movs r0, 0
- bl saved_warp2_set
- ldr r0, =gTrainerBattleOpponent_A
- strh r7, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8161F94
- thumb_func_start sub_8162054
-sub_8162054: @ 8162054
- push {r4-r6,lr}
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- ldr r4, =0x00000ca9
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r6, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _08162094
- cmp r0, 0x1
- ble _081620E8
- cmp r0, 0x2
- beq _081620A8
- cmp r0, 0x3
- beq _081620D8
- b _081620E8
- .pool
-_08162094:
- adds r0, r6, 0
- lsls r1, 24
- lsrs r1, 24
- bl sub_8164FCC
- ldr r1, =gSpecialVar_Result
- strh r0, [r1]
- b _081620E8
- .pool
-_081620A8:
- ldr r4, =gSpecialVar_Result
- ldr r2, [r5]
- ldr r0, =0x00000cdc
- adds r2, r0
- ldr r3, =gUnknown_085DF9AC
- lsls r0, r6, 2
- lsls r1, 3
- adds r0, r1
- adds r0, r3
- ldr r1, [r2]
- ldr r0, [r0]
- ands r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- strh r0, [r4]
- b _081620E8
- .pool
-_081620D8:
- ldr r1, [r5]
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- ldr r2, =0x00000d07
- adds r1, r2
- strb r0, [r1]
-_081620E8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8162054
-
- thumb_func_start sub_81620F4
-sub_81620F4: @ 81620F4
- push {r4-r7,lr}
- ldr r6, =gSaveBlock2Ptr
- ldr r0, [r6]
- ldr r7, =0x00000ca9
- adds r0, r7
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r5, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _08162134
- cmp r0, 0x1
- ble _081621B4
- cmp r0, 0x2
- beq _08162150
- cmp r0, 0x3
- beq _081621A4
- b _081621B4
- .pool
-_08162134:
- ldr r2, [r6]
- lsls r0, r5, 1
- lsls r1, r4, 2
- adds r0, r1
- movs r1, 0xCE
- lsls r1, 4
- adds r2, r1
- adds r2, r0
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- strh r0, [r2]
- b _081621B4
- .pool
-_08162150:
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- cmp r0, 0
- beq _08162180
- ldr r2, [r6]
- ldr r0, =0x00000cdc
- adds r2, r0
- ldr r3, =gUnknown_085DF9AC
- lsls r1, r5, 2
- lsls r0, r4, 3
- adds r1, r0
- adds r1, r3
- ldr r0, [r2]
- ldr r1, [r1]
- orrs r0, r1
- str r0, [r2]
- b _081621B4
- .pool
-_08162180:
- ldr r2, [r6]
- ldr r1, =0x00000cdc
- adds r2, r1
- ldr r3, =gUnknown_085DF9CC
- lsls r1, r5, 2
- lsls r0, r4, 3
- adds r1, r0
- adds r1, r3
- ldr r0, [r2]
- ldr r1, [r1]
- ands r0, r1
- str r0, [r2]
- b _081621B4
- .pool
-_081621A4:
- ldr r1, [r6]
- adds r0, r1, r7
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- ldr r2, =0x00000d07
- adds r1, r2
- strb r0, [r1]
-_081621B4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81620F4
thumb_func_start sub_81621C0
sub_81621C0: @ 81621C0
@@ -391,7 +138,7 @@ _081622B2:
adds r4, r1, r0
mov r0, r10
str r2, [sp, 0x38]
- bl BattleFrontierGetOpponentLvl
+ bl GetFrontierEnemyMonLevel
ldrb r1, [r4]
lsls r0, 24
lsrs r0, 24
@@ -551,7 +298,7 @@ _08162414:
bl __udivsi3
lsls r0, 16
lsrs r5, r0, 16
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
subs r4, 0x2
cmp r4, 0x1
bhi _08162488
@@ -784,7 +531,7 @@ sub_8162614: @ 8162614
adds r6, r4, 0
lsls r1, 24
lsrs r5, r1, 24
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
movs r0, 0xFA
lsls r0, 1
cmp r4, r0
@@ -806,7 +553,7 @@ _08162650:
ldr r0, =0x0000012b
cmp r4, r0
bhi _0816266C
- ldr r0, =gUnknown_0203BC88
+ ldr r0, =gFacilityTrainers
ldr r1, [r0]
movs r0, 0x34
muls r0, r4
@@ -962,7 +709,7 @@ sub_81627A4: @ 81627A4
lsls r0, 16
lsrs r4, r0, 16
adds r5, r4, 0
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
movs r0, 0xFA
lsls r0, 1
cmp r4, r0
@@ -977,7 +724,7 @@ _081627CC:
ldr r0, =0x0000012b
cmp r4, r0
bhi _081627E8
- ldr r0, =gUnknown_0203BC88
+ ldr r0, =gFacilityTrainers
ldr r1, [r0]
movs r0, 0x34
muls r0, r4
@@ -1335,7 +1082,7 @@ GetFrontierTrainerFrontSpriteId: @ 8162AA0
lsls r0, 16
lsrs r4, r0, 16
adds r5, r4, 0
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
movs r0, 0xFA
lsls r0, 1
cmp r4, r0
@@ -1363,7 +1110,7 @@ _08162AE4:
cmp r4, r0
bhi _08162B08
ldr r2, =gFacilityClassToPicIndex
- ldr r0, =gUnknown_0203BC88
+ ldr r0, =gFacilityTrainers
ldr r1, [r0]
movs r0, 0x34
muls r0, r4
@@ -1462,7 +1209,7 @@ GetFrontierOpponentClass: @ 8162BD8
lsls r0, 16
lsrs r4, r0, 16
adds r5, r4, 0
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
movs r0, 0xFA
lsls r0, 1
cmp r4, r0
@@ -1500,7 +1247,7 @@ _08162C38:
cmp r4, r0
bhi _08162C60
ldr r2, =gFacilityClassToTrainerClass
- ldr r0, =gUnknown_0203BC88
+ ldr r0, =gFacilityTrainers
ldr r1, [r0]
movs r0, 0x34
muls r0, r4
@@ -1602,7 +1349,7 @@ sub_8162D34: @ 8162D34
lsls r0, 16
lsrs r4, r0, 16
adds r5, r4, 0
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
movs r0, 0xFA
lsls r0, 1
cmp r4, r0
@@ -1617,7 +1364,7 @@ _08162D5C:
ldr r0, =0x0000012b
cmp r4, r0
bhi _08162D78
- ldr r0, =gUnknown_0203BC88
+ ldr r0, =gFacilityTrainers
ldr r1, [r0]
movs r0, 0x34
muls r0, r4
@@ -1704,7 +1451,7 @@ GetFrontierTrainerName: @ 8162E20
lsls r1, 16
lsrs r5, r1, 16
movs r4, 0
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
movs r0, 0xFA
lsls r0, 1
cmp r5, r0
@@ -1751,7 +1498,7 @@ _08162E88:
ldr r0, =0x0000012b
cmp r5, r0
bhi _08162EB4
- ldr r0, =gUnknown_0203BC88
+ ldr r0, =gFacilityTrainers
ldr r1, [r0]
movs r0, 0x34
muls r0, r5
@@ -1854,7 +1601,7 @@ sub_8162F68: @ 8162F68
lsls r0, 16
lsrs r4, r0, 16
adds r5, r4, 0
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
movs r0, 0xFA
lsls r0, 1
cmp r4, r0
@@ -1878,7 +1625,7 @@ _08162FA4:
ldr r0, =0x0000012b
cmp r4, r0
bhi _08162FC0
- ldr r0, =gUnknown_0203BC88
+ ldr r0, =gFacilityTrainers
ldr r1, [r0]
movs r0, 0x34
muls r0, r4
@@ -2025,7 +1772,7 @@ sub_81630C4: @ 81630C4
add r4, sp, 0x14
movs r0, 0xFF
strb r0, [r4]
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x20]
@@ -2039,7 +1786,7 @@ sub_81630C4: @ 81630C4
str r0, [sp, 0x24]
ldr r0, =gTrainerBattleOpponent_A
ldrh r2, [r0]
- ldr r0, =gUnknown_0203BC88
+ ldr r0, =gFacilityTrainers
ldr r1, [r0]
movs r0, 0x34
muls r0, r2
@@ -2258,7 +2005,7 @@ _081632D2:
movs r1, 0xB
movs r2, 0
bl GetMonData
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r2, [r1]
lsls r1, r4, 4
adds r1, r2
@@ -2291,7 +2038,7 @@ _08163308:
movs r1, 0xC
movs r2, 0
bl GetMonData
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r2, [r1]
lsls r1, r4, 4
adds r1, r2
@@ -2338,7 +2085,7 @@ _08163368:
muls r0, r1
ldr r2, =gEnemyParty
adds r0, r2
- ldr r5, =gUnknown_0203BC8C
+ ldr r5, =gFacilityTrainerMons
ldr r2, [r5]
lsls r4, 4
adds r2, r4, r2
@@ -2405,7 +2152,7 @@ _081633EC:
movs r1, 0x20
add r2, sp, 0x14
bl SetMonData
- ldr r0, =gUnknown_0203BC8C
+ ldr r0, =gFacilityTrainerMons
ldr r0, [r0]
add r0, r9
ldrb r2, [r0, 0xA]
@@ -2545,16 +2292,16 @@ _081634D4:
.pool
thumb_func_end sub_8163444
- thumb_func_start sub_8163524
-sub_8163524: @ 8163524
+ thumb_func_start RandomizeFacilityTrainerMonId
+RandomizeFacilityTrainerMonId: @ 8163524
push {r4-r6,lr}
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
lsls r0, 24
lsrs r6, r0, 24
- ldr r0, =gUnknown_0203BC88
+ ldr r0, =gFacilityTrainers
ldr r1, [r0]
movs r0, 0x34
muls r0, r4
@@ -2598,7 +2345,7 @@ _08163580:
pop {r1}
bx r1
.pool
- thumb_func_end sub_8163524
+ thumb_func_end RandomizeFacilityTrainerMonId
thumb_func_start sub_8163590
sub_8163590: @ 8163590
@@ -2728,7 +2475,7 @@ _081636A4:
movs r0, 0x1F
_081636A6:
str r0, [sp, 0x18]
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x14]
@@ -2759,7 +2506,7 @@ _081636CE:
muls r6, r0
ldr r1, =gEnemyParty
adds r0, r6, r1
- ldr r3, =gUnknown_0203BC8C
+ ldr r3, =gFacilityTrainerMons
ldr r2, [r3]
mov r1, r9
lsls r4, r1, 4
@@ -2784,7 +2531,7 @@ _081636CE:
mov r10, r7
adds r7, r4, 0
_08163718:
- ldr r0, =gUnknown_0203BC8C
+ ldr r0, =gFacilityTrainerMons
ldr r1, [r0]
mov r2, r9
lsls r0, r2, 4
@@ -2813,7 +2560,7 @@ _08163718:
movs r1, 0x20
add r2, sp, 0xC
bl SetMonData
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, [r1]
adds r0, r7, r0
ldrb r2, [r0, 0xA]
@@ -2881,7 +2628,7 @@ _081637D0:
muls r6, r7
ldr r1, =gEnemyParty
adds r0, r6, r1
- ldr r7, =gUnknown_0203BC8C
+ ldr r7, =gFacilityTrainerMons
ldr r2, [r7]
lsls r4, 4
adds r2, r4, r2
@@ -2905,7 +2652,7 @@ _081637D0:
mov r8, r4
mov r5, r8
_08163818:
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, [r1]
adds r0, r5, r0
lsls r4, r7, 1
@@ -2916,7 +2663,7 @@ _08163818:
adds r0, r6, r2
adds r2, r7, 0
bl sub_81A7024
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, [r1]
adds r0, r5, r0
adds r0, 0x2
@@ -2942,7 +2689,7 @@ _08163846:
movs r1, 0x20
add r2, sp, 0xC
bl SetMonData
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, [r1]
add r0, r8
ldrb r2, [r0, 0xA]
@@ -3029,7 +2776,7 @@ _0816390A:
thumb_func_start sub_8163914
sub_8163914: @ 8163914
push {lr}
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
ldr r0, =gSpecialVar_0x8005
ldrh r0, [r0]
cmp r0, 0
@@ -3054,7 +2801,7 @@ _08163950:
ldr r0, =0x0000012b
cmp r3, r0
bhi _08163974
- ldr r2, =gUnknown_0203BC88
+ ldr r2, =gFacilityTrainers
movs r0, 0x34
adds r1, r3, 0
muls r1, r0
@@ -3979,7 +3726,7 @@ _081641E6:
lsls r0, r1, 24
lsrs r0, 24
str r2, [sp, 0x18]
- bl BattleFrontierGetOpponentLvl
+ bl GetFrontierEnemyMonLevel
ldrb r1, [r4]
lsls r0, 24
lsrs r0, 24
@@ -4091,7 +3838,7 @@ sub_81642A0: @ 81642A0
movs r2, 0
bl GetMonData
str r0, [sp, 0x20]
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
movs r7, 0
ldr r0, [sp, 0x18]
lsls r0, 24
@@ -4116,7 +3863,7 @@ _0816431A:
ldrh r0, [r1]
cmp r0, r8
beq _08164368
- ldr r0, =gUnknown_0203BC88
+ ldr r0, =gFacilityTrainers
ldr r2, [r0]
movs r4, 0x34
mov r0, r8
@@ -4186,7 +3933,7 @@ _081643A8:
str r0, [sp, 0x28]
_081643C0:
mov r0, r8
- bl sub_8163524
+ bl RandomizeFacilityTrainerMonId
lsls r0, 16
lsrs r6, r0, 16
movs r0, 0x1
@@ -4200,7 +3947,7 @@ _081643C0:
ldr r1, [sp, 0x28]
adds r0, r1
ldrh r2, [r0]
- ldr r0, =gUnknown_0203BC8C
+ ldr r0, =gFacilityTrainerMons
ldr r0, [r0]
lsls r2, 4
adds r2, r0
@@ -4216,7 +3963,7 @@ _081643F4:
bge _08164430
ldr r2, =gSaveBlock2Ptr
ldr r0, [r2]
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r3, [r1]
lsls r1, r6, 4
adds r1, r3
@@ -4464,7 +4211,7 @@ _081645B8:
lsls r0, r1, 24
lsrs r0, 24
str r3, [sp, 0x48]
- bl BattleFrontierGetOpponentLvl
+ bl GetFrontierEnemyMonLevel
ldrb r1, [r4]
lsls r0, 24
lsrs r0, 24
@@ -4556,7 +4303,7 @@ sub_81646BC: @ 81646BC
movs r0, 0
mov r9, r0
mov r10, r0
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
movs r0, 0xFA
lsls r0, 1
cmp r5, r0
@@ -4564,7 +4311,7 @@ sub_81646BC: @ 81646BC
subs r0, 0xC9
cmp r5, r0
bhi _081646FC
- ldr r0, =gUnknown_0203BC8C
+ ldr r0, =gFacilityTrainerMons
ldr r1, [r0]
lsls r0, r4, 4
adds r0, r1
@@ -4705,7 +4452,7 @@ sub_8164828: @ 8164828
mov r5, r8
push {r5-r7}
sub sp, 0x8
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
bl sub_81A39C4
lsls r0, 16
lsrs r0, 16
@@ -6073,7 +5820,7 @@ sub_8165404: @ 8165404
sub sp, 0x70
lsls r0, 16
lsrs r7, r0, 16
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
ldr r0, =0x00000c03
cmp r7, r0
beq _08165420
@@ -6228,7 +5975,7 @@ _08165564:
bls _0816556C
b _081656E8
_0816556C:
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x50]
@@ -6272,7 +6019,7 @@ _081655A6:
mov r9, r0
mov r0, r8
add r0, r9
- ldr r6, =gUnknown_0203BC8C
+ ldr r6, =gFacilityTrainerMons
ldr r4, [r6]
lsls r5, r1, 4
adds r4, r5, r4
@@ -6339,7 +6086,7 @@ _08165634:
movs r1, 0x20
ldr r2, [sp, 0x5C]
bl SetMonData
- ldr r0, =gUnknown_0203BC8C
+ ldr r0, =gFacilityTrainerMons
ldr r1, [r0]
ldr r2, [sp, 0x54]
lsls r0, r2, 4
@@ -6354,7 +6101,7 @@ _08165634:
movs r0, 0
str r0, [sp, 0x44]
movs r2, 0
- ldr r0, =gUnknown_0203BC88
+ ldr r0, =gFacilityTrainers
ldr r1, [r0]
movs r0, 0x34
muls r0, r7
@@ -7083,8 +6830,8 @@ _08165C2A:
.pool
thumb_func_end sub_8165B88
- thumb_func_start sub_8165C40
-sub_8165C40: @ 8165C40
+ thumb_func_start GetFacilityEnemyMonLevel
+GetFacilityEnemyMonLevel: @ 8165C40
push {lr}
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
@@ -7095,29 +6842,29 @@ sub_8165C40: @ 8165C40
ands r0, r1
cmp r0, 0x2
beq _08165C84
- ldr r1, =gUnknown_0203BC88
+ ldr r1, =gFacilityTrainers
ldr r0, =gBattleFrontierTrainers
str r0, [r1]
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, =gBattleFrontierMons
str r0, [r1]
ldrb r0, [r2]
lsls r0, 30
lsrs r0, 30
- bl BattleFrontierGetOpponentLvl
+ bl GetFrontierEnemyMonLevel
b _08165C88
.pool
_08165C84:
- bl sub_8165D78
+ bl GetTentEnemyMonLevel
_08165C88:
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
- thumb_func_end sub_8165C40
+ thumb_func_end GetFacilityEnemyMonLevel
- thumb_func_start BattleFrontierGetOpponentLvl
-BattleFrontierGetOpponentLvl: @ 8165C90
+ thumb_func_start GetFrontierEnemyMonLevel
+GetFrontierEnemyMonLevel: @ 8165C90
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -7138,7 +6885,7 @@ _08165CA2:
_08165CB0:
pop {r1}
bx r1
- thumb_func_end BattleFrontierGetOpponentLvl
+ thumb_func_end GetFrontierEnemyMonLevel
thumb_func_start sub_8165CB4
sub_8165CB4: @ 8165CB4
@@ -7246,8 +6993,8 @@ _08165D72:
bx r1
thumb_func_end sub_8165D40
- thumb_func_start sub_8165D78
-sub_8165D78: @ 8165D78
+ thumb_func_start GetTentEnemyMonLevel
+GetTentEnemyMonLevel: @ 8165D78
push {lr}
ldr r0, =0x000040cf
bl VarGet
@@ -7255,38 +7002,38 @@ sub_8165D78: @ 8165D78
lsrs r0, 16
cmp r0, 0x4
bne _08165DA8
- ldr r1, =gUnknown_0203BC88
+ ldr r1, =gFacilityTrainers
ldr r0, =gSlateportBattleTentTrainers
str r0, [r1]
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, =gSlateportBattleTentMons
b _08165DF2
.pool
_08165DA8:
cmp r0, 0x2
bne _08165DC8
- ldr r1, =gUnknown_0203BC88
+ ldr r1, =gFacilityTrainers
ldr r0, =gVerdanturfBattleTentTrainers
str r0, [r1]
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, =gVerdanturfBattleTentMons
b _08165DF2
.pool
_08165DC8:
cmp r0, 0x3
bne _08165DE8
- ldr r1, =gUnknown_0203BC88
+ ldr r1, =gFacilityTrainers
ldr r0, =gFallarborBattleTentTrainers
str r0, [r1]
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, =gFallarborBattleTentMons
b _08165DF2
.pool
_08165DE8:
- ldr r1, =gUnknown_0203BC88
+ ldr r1, =gFacilityTrainers
ldr r0, =gBattleFrontierTrainers
str r0, [r1]
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r0, =gBattleFrontierMons
_08165DF2:
str r0, [r1]
@@ -7300,7 +7047,7 @@ _08165E02:
pop {r1}
bx r1
.pool
- thumb_func_end sub_8165D78
+ thumb_func_end GetTentEnemyMonLevel
thumb_func_start sub_8165E18
sub_8165E18: @ 8165E18
@@ -7384,13 +7131,13 @@ sub_8165EA4: @ 8165EA4
lsls r2, 24
lsrs r2, 24
str r2, [sp, 0x1C]
- bl sub_8165D78
+ bl GetTentEnemyMonLevel
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x20]
ldr r0, =gTrainerBattleOpponent_A
ldrh r2, [r0]
- ldr r0, =gUnknown_0203BC88
+ ldr r0, =gFacilityTrainers
ldr r1, [r0]
movs r0, 0x34
muls r0, r2
@@ -7456,7 +7203,7 @@ _08165F44:
movs r1, 0xB
movs r2, 0
bl GetMonData
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r2, [r1]
lsls r1, r4, 4
adds r1, r2
@@ -7489,7 +7236,7 @@ _08165F7A:
movs r1, 0xC
movs r2, 0
bl GetMonData
- ldr r1, =gUnknown_0203BC8C
+ ldr r1, =gFacilityTrainerMons
ldr r2, [r1]
lsls r1, r4, 4
adds r1, r2
@@ -7537,7 +7284,7 @@ _08165FDA:
muls r0, r6
ldr r1, =gEnemyParty
adds r0, r1
- ldr r5, =gUnknown_0203BC8C
+ ldr r5, =gFacilityTrainerMons
ldr r2, [r5]
lsls r4, 4
adds r2, r4, r2
@@ -7603,7 +7350,7 @@ _0816605E:
movs r1, 0x20
add r2, sp, 0x14
bl SetMonData
- ldr r0, =gUnknown_0203BC8C
+ ldr r0, =gFacilityTrainerMons
ldr r0, [r0]
add r0, r9
ldrb r2, [r0, 0xA]
@@ -7756,7 +7503,7 @@ sub_8166188: @ 8166188
ands r0, r1
cmp r0, 0
beq _081661E8
- bl sub_8165C40
+ bl GetFacilityEnemyMonLevel
lsls r0, 24
movs r5, 0
ldr r7, =gBaseStats
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
index 276267043..768311639 100644
--- a/asm/easy_chat.s
+++ b/asm/easy_chat.s
@@ -2706,7 +2706,7 @@ _0811C044:
movs r0, 0x3
movs r2, 0
movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
+ bl DecompressAndLoadBgGfxUsingHeap
ldr r1, =gEasyChatWindow_Tilemap
movs r0, 0x3
movs r2, 0
@@ -2732,7 +2732,7 @@ _0811C090:
movs r0, 0x1
movs r2, 0
movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
+ bl DecompressAndLoadBgGfxUsingHeap
movs r0, 0x1
bl CopyBgTilemapBufferToVram
b _0811C124
diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc
index c03d78df7..34d529cc7 100644
--- a/asm/macros/battle_script.inc
+++ b/asm/macros/battle_script.inc
@@ -45,14 +45,14 @@
.byte 0xa
.endm
- .macro healthbarupdate bank
+ .macro healthbarupdate battler
.byte 0xb
- .byte \bank
+ .byte \battler
.endm
- .macro datahpupdate bank
+ .macro datahpupdate battler
.byte 0xc
- .byte \bank
+ .byte \battler
.endm
.macro critmessage
@@ -104,38 +104,38 @@
.byte 0x17
.endm
- .macro clearstatusfromeffect bank
+ .macro clearstatusfromeffect battler
.byte 0x18
- .byte \bank
+ .byte \battler
.endm
- .macro tryfaintmon bank, param1, param2
+ .macro tryfaintmon battler, param1, param2
.byte 0x19
- .byte \bank
+ .byte \battler
.byte \param1
.4byte \param2
.endm
- .macro dofaintanimation bank
+ .macro dofaintanimation battler
.byte 0x1a
- .byte \bank
+ .byte \battler
.endm
- .macro cleareffectsonfaint bank
+ .macro cleareffectsonfaint battler
.byte 0x1b
- .byte \bank
+ .byte \battler
.endm
- .macro jumpifstatus bank, status1, param2
+ .macro jumpifstatus battler, status1, param2
.byte 0x1c
- .byte \bank
+ .byte \battler
.4byte \status1
.4byte \param2
.endm
- .macro jumpifstatus2 bank, status2, param2
+ .macro jumpifstatus2 battler, status2, param2
.byte 0x1d
- .byte \bank
+ .byte \battler
.4byte \status2
.4byte \param2
.endm
@@ -147,40 +147,40 @@
.4byte \param2
.endm
- .macro jumpifsideaffecting bank, sidestatus, param2
+ .macro jumpifsideaffecting battler, sidestatus, param2
.byte 0x1f
- .byte \bank
+ .byte \battler
.2byte \sidestatus
.4byte \param2
.endm
- .macro jumpifstat bank, ifflag, stat, param3, param4
+ .macro jumpifstat battler, ifflag, stat, param3, param4
.byte 0x20
- .byte \bank
+ .byte \battler
.byte \ifflag
.byte \stat
.byte \param3
.4byte \param4
.endm
- .macro jumpifstatus3condition bank, status3, param2, param3
+ .macro jumpifstatus3condition battler, status3, param2, param3
.byte 0x21
- .byte \bank
+ .byte \battler
.4byte \status3
.byte \param2
.4byte \param3
.endm
- .macro jumpiftype bank, type, param2
+ .macro jumpiftype battler, type, param2
.byte 0x22
- .byte \bank
+ .byte \battler
.byte \type
.4byte \param2
.endm
- .macro getexp bank
+ .macro getexp battler
.byte 0x23
- .byte \bank
+ .byte \battler
.endm
.macro atk24 param0
@@ -325,9 +325,9 @@
.byte 0x3a
.endm
- .macro healthbar_update bank
+ .macro healthbar_update battler
.byte 0x3b
- .byte \bank
+ .byte \battler
.endm
.macro return
@@ -356,9 +356,9 @@
.4byte \param0
.endm
- .macro jumpiftype2 bank, type, param2
+ .macro jumpiftype2 battler, type, param2
.byte 0x42
- .byte \bank
+ .byte \battler
.byte \type
.4byte \param2
.endm
@@ -373,16 +373,16 @@
.byte 0x44
.endm
- .macro playanimation bank, param1, param2
+ .macro playanimation battler, param1, param2
.byte 0x45
- .byte \bank
+ .byte \battler
.byte \param1
.4byte \param2
.endm
- .macro playanimation2 bank, param1, param2
+ .macro playanimation2 battler, param1, param2
.byte 0x46
- .byte \bank
+ .byte \battler
.4byte \param1
.4byte \param2
.endm
@@ -391,9 +391,9 @@
.byte 0x47
.endm
- .macro playstatchangeanimation bank, param1, param2
+ .macro playstatchangeanimation battler, param1, param2
.byte 0x48
- .byte \bank
+ .byte \battler
.byte \param1
.byte \param2
.endm
@@ -412,25 +412,25 @@
.byte 0x4b
.endm
- .macro getswitchedmondata bank
+ .macro getswitchedmondata battler
.byte 0x4c
- .byte \bank
+ .byte \battler
.endm
- .macro switchindataupdate bank
+ .macro switchindataupdate battler
.byte 0x4d
- .byte \bank
+ .byte \battler
.endm
- .macro switchinanim bank, dontclearsubstitutebit
+ .macro switchinanim battler, dontclearsubstitutebit
.byte 0x4e
- .byte \bank
+ .byte \battler
.byte \dontclearsubstitutebit
.endm
- .macro jumpifcantswitch bank, param1
+ .macro jumpifcantswitch battler, param1
.byte 0x4f
- .byte \bank
+ .byte \battler
.4byte \param1
.endm
@@ -440,20 +440,20 @@
.4byte \param1
.endm
- .macro switchhandleorder bank, param1
+ .macro switchhandleorder battler, param1
.byte 0x51
- .byte \bank
+ .byte \battler
.byte \param1
.endm
- .macro switchineffects bank
+ .macro switchineffects battler
.byte 0x52
- .byte \bank
+ .byte \battler
.endm
- .macro trainerslidein bank
+ .macro trainerslidein battler
.byte 0x53
- .byte \bank
+ .byte \battler
.endm
.macro playse param0
@@ -466,18 +466,18 @@
.2byte \param0
.endm
- .macro playfaintcry bank
+ .macro playfaintcry battler
.byte 0x56
- .byte \bank
+ .byte \battler
.endm
.macro atk57
.byte 0x57
.endm
- .macro returntoball bank
+ .macro returntoball battler
.byte 0x58
- .byte \bank
+ .byte \battler
.endm
.macro handlelearnnewmove param0, param1, param2
@@ -497,18 +497,18 @@
.4byte \param0
.endm
- .macro hitanimation bank
+ .macro hitanimation battler
.byte 0x5c
- .byte \bank
+ .byte \battler
.endm
.macro getmoneyreward
.byte 0x5d
.endm
- .macro atk5E bank
+ .macro atk5E battler
.byte 0x5e
- .byte \bank
+ .byte \battler
.endm
.macro swapattackerwithtarget
@@ -520,14 +520,14 @@
.byte \param0
.endm
- .macro drawpartystatussummary bank
+ .macro drawpartystatussummary battler
.byte 0x61
- .byte \bank
+ .byte \battler
.endm
- .macro hidepartystatussummary bank
+ .macro hidepartystatussummary battler
.byte 0x62
- .byte \bank
+ .byte \battler
.endm
.macro jumptorandomattack param0
@@ -535,20 +535,20 @@
.byte \param0
.endm
- .macro statusanimation bank
+ .macro statusanimation battler
.byte 0x64
- .byte \bank
+ .byte \battler
.endm
- .macro status2animation bank, status2
+ .macro status2animation battler, status2
.byte 0x65
- .byte \bank
+ .byte \battler
.4byte \status2
.endm
- .macro chosenstatusanimation bank, param1, param2
+ .macro chosenstatusanimation battler, param1, param2
.byte 0x66
- .byte \bank
+ .byte \battler
.byte \param1
.4byte \param2
.endm
@@ -565,9 +565,9 @@
.byte 0x69
.endm
- .macro removeitem bank
+ .macro removeitem battler
.byte 0x6a
- .byte \bank
+ .byte \battler
.endm
.macro atknameinbuff1
@@ -586,14 +586,14 @@
.byte 0x6e
.endm
- .macro makevisible bank
+ .macro makevisible battler
.byte 0x6f
- .byte \bank
+ .byte \battler
.endm
- .macro recordlastability bank
+ .macro recordlastability battler
.byte 0x70
- .byte \bank
+ .byte \battler
.endm
.macro buffermovetolearn
@@ -605,23 +605,23 @@
.4byte \param0
.endm
- .macro hpthresholds bank
+ .macro hpthresholds battler
.byte 0x73
- .byte \bank
+ .byte \battler
.endm
- .macro hpthresholds2 bank
+ .macro hpthresholds2 battler
.byte 0x74
- .byte \bank
+ .byte \battler
.endm
.macro useitemonopponent
.byte 0x75
.endm
- .macro various bank, param1
+ .macro various battler, param1
.byte 0x76
- .byte \bank
+ .byte \battler
.byte \param1
.endm
@@ -642,10 +642,10 @@
.4byte \param0
.endm
- .macro tryhealhalfhealth param0, bank
+ .macro tryhealhalfhealth param0, battler
.byte 0x7b
.4byte \param0
- .byte \bank
+ .byte \battler
.endm
.macro trymirrormove
@@ -773,9 +773,9 @@
.4byte \param0
.endm
- .macro updatestatusicon bank
+ .macro updatestatusicon battler
.byte 0x98
- .byte \bank
+ .byte \battler
.endm
.macro setmist
@@ -1112,14 +1112,14 @@
.4byte \param0
.endm
- .macro switchoutabilities bank
+ .macro switchoutabilities battler
.byte 0xe2
- .byte \bank
+ .byte \battler
.endm
- .macro jumpifhasnohp bank, param1
+ .macro jumpifhasnohp battler, param1
.byte 0xe3
- .byte \bank
+ .byte \battler
.4byte \param1
.endm
@@ -1215,112 +1215,112 @@
.endm
@ various command changed to more readable macros
- .macro cancelmultiturnmoves bank
- various \bank, VARIOUS_CANCEL_MULTI_TURN_MOVES
+ .macro cancelmultiturnmoves battler
+ various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES
.endm
- .macro setmagiccoattarget bank
- various \bank, VARIOUS_SET_MAGIC_COAT_TARGET
+ .macro setmagiccoattarget battler
+ various \battler, VARIOUS_SET_MAGIC_COAT_TARGET
.endm
- .macro getifcantrunfrombattle bank
- various \bank, VARIOUS_IS_RUNNING_IMPOSSIBLE
+ .macro getifcantrunfrombattle battler
+ various \battler, VARIOUS_IS_RUNNING_IMPOSSIBLE
.endm
- .macro getmovetarget bank
- various \bank, VARIOUS_GET_MOVE_TARGET
+ .macro getmovetarget battler
+ various \battler, VARIOUS_GET_MOVE_TARGET
.endm
- .macro various4 bank
- various \bank, 4
+ .macro various4 battler
+ various \battler, 4
.endm
- .macro resetintrimidatetracebits bank
- various \bank, VARIOUS_RESET_INTIMIDATE_TRACE_BITS
+ .macro resetintrimidatetracebits battler
+ various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS
.endm
- .macro updatechoicemoveonlvlup bank
- various \bank, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP
+ .macro updatechoicemoveonlvlup battler
+ various \battler, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP
.endm
- .macro various7 bank
- various \bank, 7
+ .macro various7 battler
+ various \battler, 7
.endm
- .macro various8 bank
- various \bank, 8
+ .macro various8 battler
+ various \battler, 8
.endm
- .macro various9 bank
- various \bank, 9
+ .macro various9 battler
+ various \battler, 9
.endm
- .macro various10 bank
- various \bank, 10
+ .macro various10 battler
+ various \battler, 10
.endm
- .macro various11 bank
- various \bank, 11
+ .macro various11 battler
+ various \battler, 11
.endm
- .macro various12 bank
- various \bank, 12
+ .macro various12 battler
+ various \battler, 12
.endm
- .macro forfeityesnobox bank
- various \bank, VARIOUS_EMIT_YESNOBOX
+ .macro forfeityesnobox battler
+ various \battler, VARIOUS_EMIT_YESNOBOX
.endm
- .macro various14 bank
- various \bank, 14
+ .macro various14 battler
+ various \battler, 14
.endm
- .macro various15 bank
- various \bank, 15
+ .macro various15 battler
+ various \battler, 15
.endm
- .macro various16 bank
- various \bank, 16
+ .macro various16 battler
+ various \battler, 16
.endm
- .macro various17 bank
- various \bank, 17
+ .macro various17 battler
+ various \battler, 17
.endm
- .macro waitcry bank
- various \bank, VARIOUS_WAIT_CRY
+ .macro waitcry battler
+ various \battler, VARIOUS_WAIT_CRY
.endm
- .macro returnopponentmon1toball bank
- various \bank, VARIOUS_RETURN_OPPONENT_MON1
+ .macro returnopponentmon1toball battler
+ various \battler, VARIOUS_RETURN_OPPONENT_MON1
.endm
- .macro returnopponentmon2toball bank
- various \bank, VARIOUS_RETURN_OPPONENT_MON2
+ .macro returnopponentmon2toball battler
+ various \battler, VARIOUS_RETURN_OPPONENT_MON2
.endm
- .macro various21 bank
- various \bank, 21
+ .macro volumedown
+ various BS_ATTACKER, VARIOUS_VOLUME_DOWN
.endm
- .macro various22 bank
- various \bank, 22
+ .macro volumeup
+ various BS_ATTACKER, VARIOUS_VOLUME_UP
.endm
- .macro various23 bank
- various \bank, 23
+ .macro various23 battler
+ various \battler, 23
.endm
- .macro various24 bank
- various \bank, 24
+ .macro various24 battler
+ various \battler, 24
.endm
- .macro setoutcomeonteleport bank
- various \bank, VARIOUS_SET_TELEPORT_OUTCOME
+ .macro setoutcomeonteleport battler
+ various \battler, VARIOUS_SET_TELEPORT_OUTCOME
.endm
- .macro playtrainerdefeatbgm bank
- various \bank, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC
+ .macro playtrainerdefeatbgm battler
+ various \battler, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC
.endm
@ helpful macros
@@ -1332,12 +1332,12 @@
setbyte cEFFECT_CHOOSER \effect
.endm
- .macro chosenstatus1animation bank, status
- chosenstatusanimation \bank 0x0 \status
+ .macro chosenstatus1animation battler, status
+ chosenstatusanimation \battler 0x0 \status
.endm
- .macro chosenstatus2animation bank, status
- chosenstatusanimation \bank 0x1 \status
+ .macro chosenstatus2animation battler, status
+ chosenstatusanimation \battler 0x1 \status
.endm
.macro sethword dst, value
@@ -1380,12 +1380,12 @@
jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr
.endm
- .macro jumpifstatus3 bank, status, jumpptr
- jumpifstatus3condition \bank, \status, 0x0, \jumpptr
+ .macro jumpifstatus3 battler, status, jumpptr
+ jumpifstatus3condition \battler, \status, 0x0, \jumpptr
.endm
- .macro jumpifnostatus3 bank, status, jumpptr
- jumpifstatus3condition \bank, \status, 0x1, \jumpptr
+ .macro jumpifnostatus3 battler, status, jumpptr
+ jumpifstatus3condition \battler, \status, 0x1, \jumpptr
.endm
.macro jumpifmovehadnoeffect jumpptr
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 8fb4f2dec..481a85d8d 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -3805,7 +3805,7 @@ sub_80C9FEC: @ 80C9FEC
movs r0, 0x3
movs r2, 0
movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
+ bl DecompressAndLoadBgGfxUsingHeap
ldr r0, =gUnknown_08572174
ldr r1, =0x0600f800
bl LZ77UnCompVram
@@ -3844,7 +3844,7 @@ sub_80CA044: @ 80CA044
movs r0, 0x1
movs r2, 0
movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
+ bl DecompressAndLoadBgGfxUsingHeap
ldr r0, =gUnknown_085722A0
ldr r5, =gUnknown_02039D08
ldr r1, [r5]
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 250eca0f2..8adb3cbd9 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -20169,7 +20169,7 @@ sub_81D1148: @ 81D1148
add r2, sp, 0x8
mov r0, sp
bl sub_81D0760
- bl dp13_810BB8C
+ bl ResetAllPicSprites
movs r0, 0x28
movs r1, 0x68
bl sub_81D1184
@@ -20187,7 +20187,7 @@ sub_81D1148: @ 81D1148
sub_81D1178: @ 81D1178
push {lr}
ldrh r0, [r0, 0x10]
- bl sub_818D820
+ bl FreeAndDestroyMonPicSprite
pop {r0}
bx r0
thumb_func_end sub_81D1178
@@ -20213,7 +20213,7 @@ sub_81D1184: @ 81D1184
ldr r3, =0x0000ffff
str r3, [sp, 0xC]
movs r3, 0x1
- bl sub_818D7D8
+ bl CreateMonPicSprite_HandleDeoxys
lsls r0, 16
lsrs r0, 16
ldr r1, =gSprites
@@ -20256,7 +20256,7 @@ sub_81D11FC: @ 81D11FC
push {r4,r5,lr}
adds r4, r0, 0
ldrh r0, [r4, 0x10]
- bl sub_818D820
+ bl FreeAndDestroyMonPicSprite
movs r5, 0x20
negs r5, r5
adds r0, r5, 0
diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s
index 306e2892d..01f29e0a5 100644
--- a/asm/rom_8011DC0.s
+++ b/asm/rom_8011DC0.s
@@ -7909,7 +7909,7 @@ bgid_upload_textbox_1: @ 8019938
lsls r2, 1
movs r3, 0
str r3, [sp]
- bl copy_decompressed_tile_data_to_vram_autofree
+ bl DecompressAndLoadBgGfxUsingHeap
add sp, 0x4
pop {r0}
bx r0
@@ -9386,7 +9386,7 @@ sub_801A43C: @ 801A43C
movs r0, 0x1
movs r2, 0
movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
+ bl DecompressAndLoadBgGfxUsingHeap
ldr r1, =gWirelessInfoScreenTilemap
movs r0, 0x1
movs r2, 0
diff --git a/asm/trade.s b/asm/trade.s
index 958bb77ea..224995de5 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -7609,7 +7609,7 @@ sub_807B170: @ 807B170
mov r1, r10
movs r2, 0
movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
+ bl DecompressAndLoadBgGfxUsingHeap
ldr r0, =gBattleTextboxTilemap
mov r8, r0
ldr r4, =gDecompressionBuffer
@@ -7633,7 +7633,7 @@ sub_807B170: @ 807B170
mov r1, r10
movs r2, 0
movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
+ bl DecompressAndLoadBgGfxUsingHeap
mov r0, r8
adds r1, r4, 0
bl LZDecompressWram