summaryrefslogtreecommitdiff
path: root/asm/battle_tower.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/battle_tower.s')
-rw-r--r--asm/battle_tower.s1489
1 files changed, 0 insertions, 1489 deletions
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index d4bad6bd1..3d4169293 100644
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -5,1495 +5,6 @@
.text
- thumb_func_start sub_80E5970
-sub_80E5970: @ 80E5970
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0
-_080E5976:
- ldr r0, _080E5990 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, _080E5994 @ =0x0000055e
- adds r0, r1
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x6
- bhi _080E59B8
- lsls r0, 2
- ldr r1, _080E5998 @ =_080E599C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E5990: .4byte gSaveBlock2Ptr
-_080E5994: .4byte 0x0000055e
-_080E5998: .4byte _080E599C
- .align 2, 0
-_080E599C:
- .4byte _080E59B8
- .4byte _080E59D0
- .4byte _080E59F0
- .4byte _080E5A00
- .4byte _080E59E0
- .4byte _080E59E8
- .4byte _080E5A00
-_080E59B8:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_80E5A38
- cmp r4, 0
- bne _080E5A00
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x5
- bl VarSet
- b _080E5A00
-_080E59D0:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_80E5A38
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x1
- b _080E59F6
-_080E59E0:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x2
- b _080E59F6
-_080E59E8:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x3
- b _080E59F6
-_080E59F0:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x4
-_080E59F6:
- bl VarSet
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080E5A00:
- adds r5, 0x1
- cmp r5, 0x1
- ble _080E5976
- ldr r0, _080E5A2C @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, _080E5A30 @ =0x0000055e
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, _080E5A34 @ =0x00000303
- cmp r1, r0
- bne _080E5A20
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x5
- bl VarSet
-_080E5A20:
- bl sub_80E7064
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E5A2C: .4byte gSaveBlock2Ptr
-_080E5A30: .4byte 0x0000055e
-_080E5A34: .4byte 0x00000303
- thumb_func_end sub_80E5970
-
- thumb_func_start sub_80E5A38
-sub_80E5A38: @ 80E5A38
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080E5A64 @ =gSaveBlock2Ptr
- ldr r1, [r3]
- ldr r2, _080E5A68 @ =0x0000055e
- adds r1, r2
- adds r1, r0
- movs r2, 0
- strb r2, [r1]
- ldr r2, [r3]
- lsls r0, 1
- movs r3, 0xAC
- lsls r3, 3
- adds r1, r2, r3
- adds r1, r0
- movs r3, 0x1
- strh r3, [r1]
- ldr r1, _080E5A6C @ =0x00000564
- adds r2, r1
- adds r2, r0
- strh r3, [r2]
- bx lr
- .align 2, 0
-_080E5A64: .4byte gSaveBlock2Ptr
-_080E5A68: .4byte 0x0000055e
-_080E5A6C: .4byte 0x00000564
- thumb_func_end sub_80E5A38
-
- thumb_func_start sub_80E5A70
-sub_80E5A70: @ 80E5A70
- push {r4-r7,lr}
- sub sp, 0x2C
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r6, r1, 16
- add r4, sp, 0x28
- movs r0, 0
- strb r0, [r4]
- bl ValidateEReaderTrainer
- ldr r0, _080E5AA4 @ =gSpecialVar_Result
- ldrh r0, [r0]
- adds r7, r4, 0
- cmp r0, 0
- bne _080E5A9E
- ldr r0, _080E5AA8 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, _080E5AAC @ =0x000004a2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r6
- beq _080E5AB0
-_080E5A9E:
- movs r0, 0
- b _080E5B02
- .align 2, 0
-_080E5AA4: .4byte gSpecialVar_Result
-_080E5AA8: .4byte gSaveBlock2Ptr
-_080E5AAC: .4byte 0x000004a2
-_080E5AB0:
- movs r6, 0x32
- cmp r5, 0
- beq _080E5AB8
- movs r6, 0x64
-_080E5AB8:
- movs r4, 0
-_080E5ABA:
- ldr r0, _080E5B0C @ =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r0, 0x2C
- muls r0, r4
- adds r1, r0
- movs r2, 0x9C
- lsls r2, 3
- adds r0, r1, r2
- ldrb r2, [r0]
- cmp r2, r6
- bne _080E5A9E
- ldr r3, _080E5B10 @ =0x000004d4
- adds r0, r1, r3
- ldrh r0, [r0]
- adds r3, 0x2
- adds r1, r3
- ldrh r1, [r1]
- str r2, [sp]
- add r2, sp, 0x10
- str r2, [sp, 0x4]
- add r2, sp, 0x1C
- str r2, [sp, 0x8]
- str r7, [sp, 0xC]
- movs r2, 0x1
- adds r3, r5, 0
- bl sub_80E6564
- adds r4, 0x1
- cmp r4, 0x2
- ble _080E5ABA
- movs r1, 0
- ldrb r0, [r7]
- cmp r0, 0x3
- bne _080E5B00
- movs r1, 0x1
-_080E5B00:
- adds r0, r1, 0
-_080E5B02:
- add sp, 0x2C
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080E5B0C: .4byte gSaveBlock2Ptr
-_080E5B10: .4byte 0x000004d4
- thumb_func_end sub_80E5A70
-
- thumb_func_start sub_80E5B14
-sub_80E5B14: @ 80E5B14
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- movs r0, 0
- str r0, [sp, 0x14]
- ldr r4, _080E5B58 @ =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, _080E5B5C @ =0x0000055c
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- mov r8, r0
- bl sub_80E7188
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- mov r0, r8
- mov r1, r9
- bl sub_80E5A70
- lsls r0, 24
- cmp r0, 0
- beq _080E5B64
- ldr r0, [r4]
- ldr r2, _080E5B60 @ =0x0000056c
- adds r0, r2
- movs r1, 0xC8
- strb r1, [r0]
- b _080E5C0C
- .align 2, 0
-_080E5B58: .4byte gSaveBlock2Ptr
-_080E5B5C: .4byte 0x0000055c
-_080E5B60: .4byte 0x0000056c
-_080E5B64:
- movs r6, 0
- movs r3, 0xA4
- mov r10, r3
- movs r7, 0xAA
- lsls r7, 1
- mov r12, r7
- ldr r0, _080E5BE8 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- str r0, [sp, 0x18]
- mov r1, sp
- str r1, [sp, 0x1C]
-_080E5B7A:
- mov r0, r10
- muls r0, r6
- add r0, r12
- movs r4, 0
- movs r5, 0
- movs r1, 0
- adds r2, r6, 0x1
- str r2, [sp, 0x20]
- ldr r3, [sp, 0x18]
- adds r2, r3, r0
-_080E5B8E:
- ldm r2!, {r0}
- orrs r4, r0
- adds r5, r0
- adds r1, 0x1
- cmp r1, 0x27
- bls _080E5B8E
- ldr r7, _080E5BE8 @ =gSaveBlock2Ptr
- ldr r2, [r7]
- mov r3, r10
- muls r3, r6
- adds r1, r2, r3
- movs r7, 0xAB
- lsls r7, 1
- adds r0, r1, r7
- ldrh r0, [r0]
- cmp r0, r9
- bne _080E5BD8
- mov r7, r12
- adds r0, r1, r7
- ldrb r0, [r0]
- cmp r0, r8
- bne _080E5BD8
- cmp r4, 0
- beq _080E5BD8
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r2, r1
- adds r0, r3
- ldr r0, [r0]
- cmp r0, r5
- bne _080E5BD8
- ldr r2, [sp, 0x1C]
- stm r2!, {r6}
- str r2, [sp, 0x1C]
- ldr r3, [sp, 0x14]
- adds r3, 0x1
- str r3, [sp, 0x14]
-_080E5BD8:
- ldr r6, [sp, 0x20]
- cmp r6, 0x4
- ble _080E5B7A
- ldr r7, [sp, 0x14]
- cmp r7, 0
- bne _080E5BEC
- movs r0, 0
- b _080E5C0E
- .align 2, 0
-_080E5BE8: .4byte gSaveBlock2Ptr
-_080E5BEC:
- bl Random
- ldr r1, _080E5C20 @ =gSaveBlock2Ptr
- ldr r4, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp, 0x14]
- bl __modsi3
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- adds r0, 0x64
- ldr r1, _080E5C24 @ =0x0000056c
- adds r4, r1
- strb r0, [r4]
-_080E5C0C:
- movs r0, 0x1
-_080E5C0E:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080E5C20: .4byte gSaveBlock2Ptr
-_080E5C24: .4byte 0x0000056c
- thumb_func_end sub_80E5B14
-
- thumb_func_start ChooseNextBattleTowerTrainer
-ChooseNextBattleTowerTrainer: @ 80E5C28
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, _080E5C6C @ =gSaveBlock2Ptr
- ldr r0, [r5]
- ldr r1, _080E5C70 @ =0x0000055c
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r6, r0, 31
- bl sub_80E5B14
- lsls r0, 24
- cmp r0, 0
- beq _080E5C7C
- ldr r0, [r5]
- ldr r4, _080E5C74 @ =0x0000056c
- adds r0, r4
- ldrb r0, [r0]
- bl sub_80E5E5C
- ldr r1, [r5]
- lsls r2, r6, 1
- movs r3, 0xAC
- lsls r3, 3
- adds r0, r1, r3
- adds r0, r2
- ldrh r0, [r0]
- adds r0, r1, r0
- ldr r2, _080E5C78 @ =0x00000571
- adds r0, r2
- adds r1, r4
- b _080E5E3E
- .align 2, 0
-_080E5C6C: .4byte gSaveBlock2Ptr
-_080E5C70: .4byte 0x0000055c
-_080E5C74: .4byte 0x0000056c
-_080E5C78: .4byte 0x00000571
-_080E5C7C:
- ldr r2, [r5]
- lsls r0, r6, 1
- ldr r3, _080E5D1C @ =0x00000564
- adds r1, r2, r3
- adds r1, r0
- ldrh r1, [r1]
- adds r6, r0, 0
- cmp r1, 0x7
- bls _080E5C90
- b _080E5DB8
-_080E5C90:
- movs r1, 0xAC
- lsls r1, 3
- adds r0, r2, r1
- adds r0, r6
- ldrh r0, [r0]
- cmp r0, 0x7
- bne _080E5D2C
- adds r7, r6, 0
- mov r8, r5
-_080E5CA2:
- bl Random
- movs r1, 0xFF
- ands r1, r0
- lsls r2, r1, 2
- adds r2, r1
- mov r3, r8
- ldr r4, [r3]
- ldr r1, _080E5D1C @ =0x00000564
- adds r0, r4, r1
- adds r0, r7
- ldrh r1, [r0]
- subs r1, 0x1
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- adds r0, 0x14
- lsrs r2, 7
- adds r2, r0
- lsls r2, 16
- lsrs r5, r2, 16
- movs r3, 0
- movs r0, 0xAC
- lsls r0, 3
- adds r2, r4, r0
- adds r0, r2, r7
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r3, r0
- bge _080E5CFC
- ldr r0, _080E5D20 @ =0x00000572
- adds r1, r4, r0
- ldrb r0, [r1]
- cmp r0, r5
- beq _080E5CFC
- adds r0, r2, r6
- ldrh r0, [r0]
- subs r4, r0, 0x1
-_080E5CEE:
- adds r3, 0x1
- cmp r3, r4
- bge _080E5CFC
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r5
- bne _080E5CEE
-_080E5CFC:
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0xAC
- lsls r2, 3
- adds r0, r2
- adds r0, r6
- ldrh r0, [r0]
- subs r0, 0x1
- ldr r4, _080E5D24 @ =gSaveBlock2Ptr
- cmp r3, r0
- bne _080E5CA2
- ldr r0, [r4]
- ldr r3, _080E5D28 @ =0x0000056c
- adds r0, r3
- b _080E5E16
- .align 2, 0
-_080E5D1C: .4byte 0x00000564
-_080E5D20: .4byte 0x00000572
-_080E5D24: .4byte gSaveBlock2Ptr
-_080E5D28: .4byte 0x0000056c
-_080E5D2C:
- adds r7, r6, 0
- mov r8, r5
-_080E5D30:
- bl Random
- movs r1, 0xFF
- ands r1, r0
- lsls r0, r1, 2
- adds r0, r1
- lsrs r5, r0, 6
- mov r0, r8
- ldr r4, [r0]
- ldr r1, _080E5DA8 @ =0x00000564
- adds r0, r4, r1
- adds r0, r7
- ldrh r1, [r0]
- subs r1, 0x1
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- adds r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- movs r3, 0
- movs r0, 0xAC
- lsls r0, 3
- adds r2, r4, r0
- adds r0, r2, r7
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r3, r0
- bge _080E5D88
- ldr r0, _080E5DAC @ =0x00000572
- adds r1, r4, r0
- ldrb r0, [r1]
- cmp r0, r5
- beq _080E5D88
- adds r0, r2, r6
- ldrh r0, [r0]
- subs r4, r0, 0x1
-_080E5D7A:
- adds r3, 0x1
- cmp r3, r4
- bge _080E5D88
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r5
- bne _080E5D7A
-_080E5D88:
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0xAC
- lsls r2, 3
- adds r0, r2
- adds r0, r6
- ldrh r0, [r0]
- subs r0, 0x1
- ldr r4, _080E5DB0 @ =gSaveBlock2Ptr
- cmp r3, r0
- bne _080E5D30
- ldr r0, [r4]
- ldr r3, _080E5DB4 @ =0x0000056c
- adds r0, r3
- b _080E5E16
- .align 2, 0
-_080E5DA8: .4byte 0x00000564
-_080E5DAC: .4byte 0x00000572
-_080E5DB0: .4byte gSaveBlock2Ptr
-_080E5DB4: .4byte 0x0000056c
-_080E5DB8:
- adds r7, r5, 0
-_080E5DBA:
- bl Random
- movs r1, 0xFF
- ands r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 1
- asrs r0, 8
- adds r0, 0x46
- lsls r0, 16
- lsrs r5, r0, 16
- movs r3, 0
- ldr r1, [r7]
- movs r2, 0xAC
- lsls r2, 3
- adds r0, r1, r2
- adds r0, r6
- ldrh r0, [r0]
- subs r4, r0, 0x1
- cmp r3, r4
- bge _080E5DFC
- ldr r0, _080E5E4C @ =0x00000572
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, r5
- beq _080E5DFC
-_080E5DEE:
- adds r3, 0x1
- cmp r3, r4
- bge _080E5DFC
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r5
- bne _080E5DEE
-_080E5DFC:
- ldr r0, [r7]
- movs r1, 0xAC
- lsls r1, 3
- adds r0, r1
- adds r0, r6
- ldrh r0, [r0]
- subs r0, 0x1
- ldr r4, _080E5E50 @ =gSaveBlock2Ptr
- cmp r3, r0
- bne _080E5DBA
- ldr r0, [r4]
- ldr r2, _080E5E54 @ =0x0000056c
- adds r0, r2
-_080E5E16:
- strb r5, [r0]
- ldr r0, [r4]
- ldr r3, _080E5E54 @ =0x0000056c
- adds r0, r3
- ldrb r0, [r0]
- bl sub_80E5E5C
- ldr r1, [r4]
- movs r2, 0xAC
- lsls r2, 3
- adds r0, r1, r2
- adds r2, r0, r6
- ldrh r0, [r2]
- cmp r0, 0x6
- bhi _080E5E42
- adds r0, r1, r0
- ldr r3, _080E5E58 @ =0x00000571
- adds r0, r3
- ldr r2, _080E5E54 @ =0x0000056c
- adds r1, r2
-_080E5E3E:
- ldrb r1, [r1]
- strb r1, [r0]
-_080E5E42:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E5E4C: .4byte 0x00000572
-_080E5E50: .4byte gSaveBlock2Ptr
-_080E5E54: .4byte 0x0000056c
-_080E5E58: .4byte 0x00000571
- thumb_func_end ChooseNextBattleTowerTrainer
-
- thumb_func_start sub_80E5E5C
-sub_80E5E5C: @ 80E5E5C
- push {lr}
- ldr r0, _080E5E6C @ =0x00004010
- movs r1, 0x12
- bl VarSet
- pop {r0}
- bx r0
- .align 2, 0
-_080E5E6C: .4byte 0x00004010
- thumb_func_end sub_80E5E5C
-
- thumb_func_start SetEReaderTrainerGfxId
-SetEReaderTrainerGfxId: @ 80E5E70
- push {lr}
- movs r0, 0xC8
- bl sub_80E5E5C
- pop {r0}
- bx r0
- thumb_func_end SetEReaderTrainerGfxId
-
- thumb_func_start sub_80E5E7C
-sub_80E5E7C: @ 80E5E7C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- movs r1, 0
- mov r8, r1
- mov r10, r0
- movs r5, 0
- ldr r2, _080E5F08 @ =gSaveBlock2Ptr
- ldr r0, [r2]
- mov r4, r10
- ldrb r4, [r4, 0xC]
- str r4, [sp, 0x18]
- mov r9, r5
- movs r7, 0x4
- str r7, [sp, 0x1C]
- movs r1, 0xB0
- lsls r1, 1
- adds r1, r0
- mov r12, r1
-_080E5EA8:
- movs r6, 0
- movs r3, 0
- mov r2, r12
- ldrb r0, [r2]
- ldr r4, [sp, 0x18]
- cmp r0, r4
- bne _080E5EDA
- mov r4, r9
- mov r2, r10
- adds r2, 0xC
-_080E5EBC:
- adds r3, 0x1
- cmp r3, 0x3
- bgt _080E5EDA
- ldr r7, _080E5F08 @ =gSaveBlock2Ptr
- ldr r0, [r7]
- adds r1, r3, r4
- movs r7, 0xB0
- lsls r7, 1
- adds r0, r7
- adds r0, r1
- adds r1, r2, r3
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080E5EBC
-_080E5EDA:
- cmp r3, 0x4
- bne _080E5F20
- movs r6, 0
- ldr r1, _080E5F08 @ =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r3, 0xAC
- lsls r3, 1
- adds r0, r3
- ldr r2, [sp, 0x1C]
- adds r0, r2
- ldrb r0, [r0]
- mov r4, r10
- ldrb r4, [r4, 0x8]
- cmp r0, r4
- bne _080E5F20
- adds r1, r0, 0
- mov r2, r9
- adds r2, 0x4
-_080E5EFE:
- cmp r1, 0xFF
- bne _080E5F0C
- movs r6, 0x7
- b _080E5F20
- .align 2, 0
-_080E5F08: .4byte gSaveBlock2Ptr
-_080E5F0C:
- adds r6, 0x1
- cmp r6, 0x6
- bgt _080E5F20
- ldr r7, _080E5F4C @ =gSaveBlock2Ptr
- ldr r0, [r7]
- adds r0, r3
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, r1
- beq _080E5EFE
-_080E5F20:
- cmp r6, 0x7
- beq _080E5F36
- movs r0, 0xA4
- add r9, r0
- ldr r1, [sp, 0x1C]
- adds r1, 0xA4
- str r1, [sp, 0x1C]
- add r12, r0
- adds r5, 0x1
- cmp r5, 0x4
- ble _080E5EA8
-_080E5F36:
- cmp r5, 0x4
- bgt _080E5F50
- ldr r2, _080E5F4C @ =gSaveBlock2Ptr
- ldr r0, [r2]
- movs r1, 0xA4
- muls r1, r5
- adds r0, r1
- movs r4, 0xAA
- lsls r4, 1
- adds r0, r4
- b _080E5F90
- .align 2, 0
-_080E5F4C: .4byte gSaveBlock2Ptr
-_080E5F50:
- movs r5, 0
- ldr r7, _080E5F9C @ =gSaveBlock2Ptr
- ldr r0, [r7]
- movs r1, 0xAB
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080E5F7C
- adds r3, r7, 0
- adds r2, r1, 0
- movs r1, 0
-_080E5F68:
- adds r1, 0xA4
- adds r5, 0x1
- cmp r5, 0x4
- bgt _080E5FA0
- ldr r0, [r3]
- adds r0, r1
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _080E5F68
-_080E5F7C:
- cmp r5, 0x4
- bgt _080E5FA0
- ldr r1, _080E5F9C @ =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r1, 0xA4
- muls r1, r5
- adds r0, r1
- movs r2, 0xAA
- lsls r2, 1
- adds r0, r2
-_080E5F90:
- mov r1, r10
- movs r2, 0xA4
- bl memcpy
- b _080E6062
- .align 2, 0
-_080E5F9C: .4byte gSaveBlock2Ptr
-_080E5FA0:
- mov r2, sp
- ldr r4, _080E5FF8 @ =gSaveBlock2Ptr
- ldr r0, [r4]
- movs r3, 0xAB
- lsls r3, 1
- adds r0, r3
- ldrh r0, [r0]
- movs r1, 0
- strh r0, [r2]
- add r0, sp, 0xC
- strh r1, [r0]
- movs r7, 0x1
- add r8, r7
- movs r5, 0x1
- add r0, sp, 0xC
- mov r9, r0
- mov r12, r3
-_080E5FC2:
- movs r3, 0
- adds r7, r5, 0x1
- cmp r3, r8
- bge _080E6006
- ldr r1, _080E5FF8 @ =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r2, 0xA4
- adds r1, r5, 0
- muls r1, r2
- adds r0, r1
- mov r1, r12
- adds r4, r0, r1
- mov r6, sp
-_080E5FDC:
- lsls r0, r3, 1
- add r0, sp
- ldrh r2, [r4]
- adds r1, r2, 0
- ldrh r0, [r0]
- cmp r1, r0
- bcs _080E5FFC
- movs r3, 0
- movs r4, 0x1
- mov r8, r4
- strh r2, [r6]
- mov r0, r9
- strh r5, [r0]
- b _080E6006
- .align 2, 0
-_080E5FF8: .4byte gSaveBlock2Ptr
-_080E5FFC:
- cmp r1, r0
- bhi _080E6006
- adds r3, 0x1
- cmp r3, r8
- blt _080E5FDC
-_080E6006:
- cmp r3, r8
- bne _080E602C
- mov r1, r8
- lsls r2, r1, 1
- mov r4, sp
- adds r3, r4, r2
- ldr r1, _080E6074 @ =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r4, 0xA4
- adds r1, r5, 0
- muls r1, r4
- adds r0, r1
- add r0, r12
- ldrh r0, [r0]
- strh r0, [r3]
- add r2, r9
- strh r5, [r2]
- movs r0, 0x1
- add r8, r0
-_080E602C:
- adds r5, r7, 0
- cmp r5, 0x4
- ble _080E5FC2
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r1, r8
- bl __modsi3
- adds r5, r0, 0
- ldr r0, _080E6074 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r5, 1
- add r1, sp
- adds r1, 0xC
- ldrh r2, [r1]
- movs r1, 0xA4
- muls r1, r2
- adds r0, r1
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r1
- mov r1, r10
- movs r2, 0xA4
- bl memcpy
-_080E6062:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6074: .4byte gSaveBlock2Ptr
- thumb_func_end sub_80E5E7C
-
- thumb_func_start GetBattleTowerTrainerFrontSpriteId
-GetBattleTowerTrainerFrontSpriteId: @ 80E6078
- push {lr}
- ldr r0, _080E6094 @ =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r0, _080E6098 @ =0x0000056c
- adds r1, r3, r0
- ldrb r0, [r1]
- cmp r0, 0xC8
- bne _080E60A4
- ldr r1, _080E609C @ =gFacilityClassToPicIndex
- ldr r2, _080E60A0 @ =0x000004a1
- adds r0, r3, r2
- ldrb r0, [r0]
- adds r0, r1
- b _080E60D6
- .align 2, 0
-_080E6094: .4byte gSaveBlock2Ptr
-_080E6098: .4byte 0x0000056c
-_080E609C: .4byte gFacilityClassToPicIndex
-_080E60A0: .4byte 0x000004a1
-_080E60A4:
- cmp r0, 0x63
- bls _080E60C4
- ldr r2, _080E60C0 @ =gFacilityClassToPicIndex
- ldrb r0, [r1]
- subs r0, 0x64
- movs r1, 0xA4
- muls r0, r1
- adds r0, r3, r0
- adds r1, 0xB1
- adds r0, r1
- ldrb r0, [r0]
- adds r0, r2
- b _080E60D6
- .align 2, 0
-_080E60C0: .4byte gFacilityClassToPicIndex
-_080E60C4:
- ldr r3, _080E60DC @ =gFacilityClassToPicIndex
- ldr r2, _080E60E0 @ =gBattleTowerTrainers
- ldrb r1, [r1]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r3
-_080E60D6:
- ldrb r0, [r0]
- pop {r1}
- bx r1
- .align 2, 0
-_080E60DC: .4byte gFacilityClassToPicIndex
-_080E60E0: .4byte gBattleTowerTrainers
- thumb_func_end GetBattleTowerTrainerFrontSpriteId
-
- thumb_func_start sub_80E60E4
-sub_80E60E4: @ 80E60E4
- push {lr}
- ldr r0, _080E6100 @ =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r0, _080E6104 @ =0x0000056c
- adds r1, r3, r0
- ldrb r0, [r1]
- cmp r0, 0xC8
- bne _080E6110
- ldr r1, _080E6108 @ =gFacilityClassToTrainerClass
- ldr r2, _080E610C @ =0x000004a1
- adds r0, r3, r2
- ldrb r0, [r0]
- adds r0, r1
- b _080E6144
- .align 2, 0
-_080E6100: .4byte gSaveBlock2Ptr
-_080E6104: .4byte 0x0000056c
-_080E6108: .4byte gFacilityClassToTrainerClass
-_080E610C: .4byte 0x000004a1
-_080E6110:
- cmp r0, 0x63
- bhi _080E6130
- ldr r3, _080E6128 @ =gFacilityClassToTrainerClass
- ldr r2, _080E612C @ =gBattleTowerTrainers
- ldrb r1, [r1]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r3
- b _080E6144
- .align 2, 0
-_080E6128: .4byte gFacilityClassToTrainerClass
-_080E612C: .4byte gBattleTowerTrainers
-_080E6130:
- ldr r2, _080E614C @ =gFacilityClassToTrainerClass
- ldrb r0, [r1]
- subs r0, 0x64
- movs r1, 0xA4
- muls r0, r1
- adds r0, r3, r0
- adds r1, 0xB1
- adds r0, r1
- ldrb r0, [r0]
- adds r0, r2
-_080E6144:
- ldrb r0, [r0]
- pop {r1}
- bx r1
- .align 2, 0
-_080E614C: .4byte gFacilityClassToTrainerClass
- thumb_func_end sub_80E60E4
-
- thumb_func_start sub_80E6150
-sub_80E6150: @ 80E6150
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r0, _080E6178 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, _080E617C @ =0x0000056c
- adds r0, r1, r2
- ldrb r2, [r0]
- cmp r2, 0xC8
- bne _080E6184
- movs r3, 0
- ldr r0, _080E6180 @ =0x000004a4
- adds r2, r1, r0
-_080E6168:
- adds r0, r4, r3
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x6
- ble _080E6168
- b _080E61CE
- .align 2, 0
-_080E6178: .4byte gSaveBlock2Ptr
-_080E617C: .4byte 0x0000056c
-_080E6180: .4byte 0x000004a4
-_080E6184:
- cmp r2, 0x63
- bhi _080E61AC
- movs r3, 0
- adds r5, r0, 0
- ldr r6, _080E61A8 @ =gBattleTowerTrainers + 1
-_080E618E:
- adds r2, r4, r3
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r3, r0
- adds r0, r6
- ldrb r0, [r0]
- strb r0, [r2]
- adds r3, 0x1
- cmp r3, 0x2
- ble _080E618E
- b _080E61CE
- .align 2, 0
-_080E61A8: .4byte gBattleTowerTrainers + 1
-_080E61AC:
- movs r3, 0
- adds r5, r0, 0
- movs r0, 0xAC
- lsls r0, 1
- adds r2, r1, r0
- movs r6, 0xA4
-_080E61B8:
- adds r1, r4, r3
- ldrb r0, [r5]
- subs r0, 0x64
- muls r0, r6
- adds r0, r3, r0
- adds r0, r2, r0
- ldrb r0, [r0]
- strb r0, [r1]
- adds r3, 0x1
- cmp r3, 0x6
- ble _080E61B8
-_080E61CE:
- adds r1, r4, r3
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E6150
-
- thumb_func_start sub_80E61DC
-sub_80E61DC: @ 80E61DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- movs r0, 0
- str r0, [sp, 0x18]
- movs r1, 0x3C
- str r1, [sp, 0x1C]
- add r4, sp, 0xC
- movs r0, 0xFF
- strb r0, [r4]
- bl ZeroEnemyPartyMons
- ldr r1, _080E6210 @ =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, _080E6214 @ =0x0000056c
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x13
- bhi _080E6218
- movs r3, 0x6
- str r3, [sp, 0x14]
- b _080E62F4
- .align 2, 0
-_080E6210: .4byte gSaveBlock2Ptr
-_080E6214: .4byte 0x0000056c
-_080E6218:
- cmp r0, 0x1D
- bhi _080E6226
- movs r0, 0x9
- str r0, [sp, 0x14]
- movs r1, 0x1E
- str r1, [sp, 0x18]
- b _080E62F4
-_080E6226:
- cmp r0, 0x27
- bhi _080E6234
- movs r2, 0xC
- str r2, [sp, 0x14]
- movs r3, 0x3C
- str r3, [sp, 0x18]
- b _080E62F4
-_080E6234:
- cmp r0, 0x31
- bhi _080E6242
- movs r0, 0xF
- str r0, [sp, 0x14]
- movs r1, 0x5A
- str r1, [sp, 0x18]
- b _080E62F4
-_080E6242:
- cmp r0, 0x3B
- bhi _080E6250
- movs r2, 0x12
- str r2, [sp, 0x14]
- movs r3, 0x78
- str r3, [sp, 0x18]
- b _080E62F4
-_080E6250:
- cmp r0, 0x45
- bhi _080E625E
- movs r0, 0x15
- str r0, [sp, 0x14]
- movs r1, 0x96
- str r1, [sp, 0x18]
- b _080E62F4
-_080E625E:
- cmp r0, 0x4F
- bhi _080E626C
- movs r2, 0x1F
- str r2, [sp, 0x14]
- movs r3, 0xB4
- str r3, [sp, 0x18]
- b _080E62F4
-_080E626C:
- cmp r0, 0x63
- bhi _080E627E
- movs r0, 0x1F
- str r0, [sp, 0x14]
- movs r1, 0xC8
- str r1, [sp, 0x18]
- movs r2, 0x64
- str r2, [sp, 0x1C]
- b _080E62F4
-_080E627E:
- cmp r0, 0xC8
- bne _080E62B0
- movs r6, 0
- adds r4, r1, 0
-_080E6286:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _080E62A8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2C
- adds r2, r6, 0
- muls r2, r1
- ldr r3, _080E62AC @ =0x000004d4
- adds r2, r3
- ldr r1, [r4]
- adds r1, r2
- bl CreateBattleTowerMon
- adds r6, 0x1
- cmp r6, 0x2
- ble _080E6286
- b _080E64A6
- .align 2, 0
-_080E62A8: .4byte gEnemyParty
-_080E62AC: .4byte 0x000004d4
-_080E62B0:
- movs r6, 0
-_080E62B2:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _080E62E4 @ =gEnemyParty
- adds r0, r1
- ldr r1, _080E62E8 @ =gSaveBlock2Ptr
- ldr r1, [r1]
- ldr r3, _080E62EC @ =0x0000056c
- adds r2, r1, r3
- ldrb r3, [r2]
- movs r2, 0xA4
- muls r2, r3
- ldr r3, _080E62F0 @ =0xffffc144
- adds r2, r3
- adds r1, r2
- movs r2, 0x2C
- muls r2, r6
- adds r2, 0x1C
- adds r1, r2
- bl CreateBattleTowerMon
- adds r6, 0x1
- cmp r6, 0x2
- ble _080E62B2
- b _080E64A6
- .align 2, 0
-_080E62E4: .4byte gEnemyParty
-_080E62E8: .4byte gSaveBlock2Ptr
-_080E62EC: .4byte 0x0000056c
-_080E62F0: .4byte 0xffffc144
-_080E62F4:
- ldr r2, _080E6314 @ =gSaveBlock2Ptr
- ldr r0, [r2]
- ldr r1, _080E6318 @ =0x0000055c
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- adds r1, r2, 0
- cmp r0, 0
- beq _080E6320
- ldr r2, _080E631C @ =gBattleTowerLevel100Mons
- mov r10, r2
- movs r3, 0x64
- str r3, [sp, 0x10]
- b _080E6328
- .align 2, 0
-_080E6314: .4byte gSaveBlock2Ptr
-_080E6318: .4byte 0x0000055c
-_080E631C: .4byte gBattleTowerLevel100Mons
-_080E6320:
- ldr r0, _080E6378 @ =gBattleTowerLevel50Mons
- mov r10, r0
- movs r2, 0x32
- str r2, [sp, 0x10]
-_080E6328:
- ldr r2, _080E637C @ =gBattleTowerTrainers
- ldr r0, [r1]
- ldr r3, _080E6380 @ =0x0000056c
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x4]
- str r0, [sp, 0x20]
- movs r6, 0
-_080E6340:
- bl Random
- movs r1, 0xFF
- ands r1, r0
- ldr r2, [sp, 0x1C]
- adds r0, r1, 0
- muls r0, r2
- asrs r0, 8
- ldr r3, [sp, 0x18]
- adds r7, r0, r3
- ldr r0, [sp, 0x20]
- cmp r0, 0
- beq _080E636A
- lsls r0, r7, 4
- add r0, r10
- ldrb r0, [r0, 0x3]
- ldr r1, [sp, 0x20]
- ands r0, r1
- cmp r0, r1
- beq _080E636A
- b _080E64A0
-_080E636A:
- movs r5, 0
- lsls r0, r7, 4
- mov r2, r10
- adds r3, r0, r2
- movs r4, 0
- b _080E6388
- .align 2, 0
-_080E6378: .4byte gBattleTowerLevel50Mons
-_080E637C: .4byte gBattleTowerTrainers
-_080E6380: .4byte 0x0000056c
-_080E6384:
- adds r4, 0x64
- adds r5, 0x1
-_080E6388:
- cmp r5, r6
- bge _080E63A2
- ldr r1, _080E64B8 @ =gEnemyParty
- adds r0, r4, r1
- movs r1, 0xB
- movs r2, 0
- str r3, [sp, 0x24]
- bl GetMonData
- ldr r3, [sp, 0x24]
- ldrh r2, [r3]
- cmp r0, r2
- bne _080E6384
-_080E63A2:
- cmp r5, r6
- bne _080E64A0
- movs r5, 0
- cmp r5, r6
- bge _080E63F0
- ldr r3, _080E64BC @ =sBattleTowerHeldItems
- mov r9, r3
- lsls r0, r7, 4
- add r0, r10
- mov r8, r0
- movs r3, 0
-_080E63B8:
- ldr r0, _080E64B8 @ =gEnemyParty
- adds r4, r3, r0
- adds r0, r4, 0
- movs r1, 0xC
- movs r2, 0
- str r3, [sp, 0x24]
- bl GetMonData
- ldr r3, [sp, 0x24]
- cmp r0, 0
- beq _080E63E8
- adds r0, r4, 0
- movs r1, 0xC
- movs r2, 0
- bl GetMonData
- mov r2, r8
- ldrb r1, [r2, 0x2]
- lsls r1, 1
- add r1, r9
- ldr r3, [sp, 0x24]
- ldrh r1, [r1]
- cmp r0, r1
- beq _080E63F0
-_080E63E8:
- adds r3, 0x64
- adds r5, 0x1
- cmp r5, r6
- blt _080E63B8
-_080E63F0:
- cmp r5, r6
- bne _080E64A0
- movs r5, 0
- cmp r5, r6
- bge _080E6412
- add r0, sp, 0x4
- ldrh r0, [r0]
- cmp r0, r7
- beq _080E6412
- add r1, sp, 0x4
-_080E6404:
- adds r1, 0x2
- adds r5, 0x1
- cmp r5, r6
- bge _080E6412
- ldrh r0, [r1]
- cmp r0, r7
- bne _080E6404
-_080E6412:
- cmp r5, r6
- bne _080E64A0
- lsls r0, r6, 1
- add r0, sp
- adds r0, 0x4
- strh r7, [r0]
- movs r3, 0x64
- adds r0, r6, 0
- muls r0, r3
- ldr r1, _080E64B8 @ =gEnemyParty
- adds r0, r1
- lsls r4, r7, 4
- mov r3, r10
- adds r2, r4, r3
- ldrh r1, [r2]
- ldrb r2, [r2, 0xC]
- str r2, [sp]
- ldr r2, [sp, 0x10]
- ldr r3, [sp, 0x14]
- bl CreateMonWithEVSpread
- movs r5, 0
- adds r0, r6, 0x1
- mov r9, r0
- mov r8, r4
- movs r0, 0x64
- adds r7, r6, 0
- muls r7, r0
- mov r0, r10
- adds r0, 0x4
- adds r4, r0
- ldr r3, _080E64B8 @ =gEnemyParty
-_080E6452:
- ldrh r1, [r4]
- lsls r2, r5, 24
- lsrs r2, 24
- adds r0, r7, r3
- str r3, [sp, 0x24]
- bl SetMonMoveSlot
- ldrh r0, [r4]
- ldr r3, [sp, 0x24]
- cmp r0, 0xDA
- bne _080E646E
- movs r0, 0
- mov r1, sp
- strb r0, [r1, 0xC]
-_080E646E:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _080E6452
- movs r2, 0x64
- adds r4, r6, 0
- muls r4, r2
- ldr r3, _080E64B8 @ =gEnemyParty
- adds r4, r3
- adds r0, r4, 0
- movs r1, 0x20
- add r2, sp, 0xC
- bl SetMonData
- mov r0, r8
- add r0, r10
- ldrb r2, [r0, 0x2]
- lsls r2, 1
- ldr r0, _080E64BC @ =sBattleTowerHeldItems
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- mov r6, r9
-_080E64A0:
- cmp r6, 0x3
- beq _080E64A6
- b _080E6340
-_080E64A6:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E64B8: .4byte gEnemyParty
-_080E64BC: .4byte sBattleTowerHeldItems
- thumb_func_end sub_80E61DC
-
thumb_func_start sub_80E64C0
sub_80E64C0: @ 80E64C0
push {r4-r6,lr}