summaryrefslogtreecommitdiff
path: root/asm/pokemon_2.s
diff options
context:
space:
mode:
authorDennis <dhilhorst2000@gmail.com>2021-07-26 06:11:01 +0200
committerGitHub <noreply@github.com>2021-07-25 21:11:01 -0700
commit645c45431b0e091234699c3706ff90d1654cfb57 (patch)
tree412551a72247c0d9b21049d5addcbe34014419d3 /asm/pokemon_2.s
parentbad7f7f688253c87c2cb2d063ea57c884cb6adff (diff)
Pokemon related decomp (#47)
* decompile last function in pokemon_1.s * some pokemon related decomp * more decomp * decomp another function * decompile function * another one * decompile GetPokemonLevelData * decompile more * more decomp * more structure and decomp * decomp another function (need to do some renaming) * rename some stuff * I cant do anything without committing these 2 files
Diffstat (limited to 'asm/pokemon_2.s')
-rw-r--r--asm/pokemon_2.s1117
1 files changed, 2 insertions, 1115 deletions
diff --git a/asm/pokemon_2.s b/asm/pokemon_2.s
index f2e7742..cf8c39d 100644
--- a/asm/pokemon_2.s
+++ b/asm/pokemon_2.s
@@ -4,786 +4,7 @@
.syntax unified
.text
-
- thumb_func_start sub_808DE50
-sub_808DE50:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r5, r0, 0
- adds r6, r1, 0
- adds r4, r2, 0
- ldrh r0, [r6]
- strh r0, [r5]
- ldrb r0, [r6, 0x3]
- strb r0, [r5, 0x3]
- ldrh r0, [r6, 0x14]
- strh r0, [r5, 0x8]
- ldr r0, [r6, 0x20]
- str r0, [r5, 0x4C]
- adds r0, r5, 0
- adds r0, 0x54
- bl sub_808E6F4
- ldr r0, [r6, 0x4]
- str r0, [r5, 0x4]
- ldrb r0, [r6, 0x2]
- strb r0, [r5, 0x2]
- strh r4, [r5, 0xA]
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0xE]
- adds r0, r6, 0
- adds r0, 0x24
- ldrb r1, [r0]
- adds r0, r5, 0
- adds r0, 0x50
- strb r1, [r0]
- ldrh r0, [r6, 0x16]
- strh r0, [r5, 0x12]
- strh r0, [r5, 0x10]
- add r0, sp, 0x4
- mov r8, r0
- adds r2, r6, 0
- adds r2, 0x18
- adds r1, r5, 0
- adds r1, 0x14
- movs r3, 0x1
-_0808DEA4:
- ldrb r0, [r2]
- strb r0, [r1]
- ldrb r0, [r2, 0x2]
- strb r0, [r1, 0x2]
- adds r2, 0x1
- adds r1, 0x1
- subs r3, 0x1
- cmp r3, 0
- bge _0808DEA4
- ldr r0, [r6, 0x1C]
- str r0, [r5, 0x18]
- adds r0, r5, 0
- adds r0, 0x1C
- adds r1, r6, 0
- adds r1, 0x2C
- bl sub_8093F50
- movs r3, 0
- movs r0, 0x28
- adds r0, r6
- mov r12, r0
- adds r2, r5, 0
- adds r2, 0x40
- adds r7, r5, 0
- adds r7, 0x58
- adds r4, r6, 0
- adds r4, 0x4C
-_0808DEDA:
- adds r0, r7, r3
- adds r1, r4, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x9
- ble _0808DEDA
- mov r0, r12
- ldrb r1, [r0]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- cmp r0, 0
- beq _0808DF00
- adds r0, r2, 0
- mov r1, r12
- bl HeldItemToSlot
- b _0808DF06
-_0808DF00:
- strb r0, [r2, 0x2]
- strb r0, [r2, 0x1]
- strb r0, [r2]
-_0808DF06:
- mov r0, sp
- movs r1, 0x64
- bl sub_80943A0
- ldr r0, [sp]
- str r0, [r5, 0x44]
- mov r0, r8
- movs r1, 0x64
- bl sub_80943A0
- ldr r0, [sp, 0x4]
- str r0, [r5, 0x48]
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808DE50
-
- thumb_func_start sub_808DF2C
-sub_808DF2C:
- push {lr}
- ldr r3, _0808DF40
- movs r2, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- bl sub_808DF44
- pop {r0}
- bx r0
- .align 2, 0
-_0808DF40: .4byte gRecruitedPokemonRef
- thumb_func_end sub_808DF2C
-
- thumb_func_start sub_808DF44
-sub_808DF44:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrh r0, [r4]
- strh r0, [r5]
- ldrb r0, [r4, 0x3]
- strb r0, [r5, 0x3]
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x14]
- ldr r0, [r4, 0x4C]
- str r0, [r5, 0x20]
- ldr r0, [r4, 0x4]
- str r0, [r5, 0x4]
- ldrb r0, [r4, 0x2]
- strb r0, [r5, 0x2]
- ldrh r0, [r4, 0xE]
- strh r0, [r5, 0x8]
- adds r0, r4, 0
- adds r0, 0x50
- ldrb r1, [r0]
- adds r0, r5, 0
- adds r0, 0x24
- strb r1, [r0]
- ldrh r0, [r4, 0x12]
- strh r0, [r5, 0x16]
- adds r2, r4, 0
- adds r2, 0x14
- adds r1, r5, 0
- adds r1, 0x18
- movs r3, 0x1
-_0808DF80:
- ldrb r0, [r2]
- strb r0, [r1]
- ldrb r0, [r2, 0x2]
- strb r0, [r1, 0x2]
- adds r2, 0x1
- adds r1, 0x1
- subs r3, 0x1
- cmp r3, 0
- bge _0808DF80
- ldr r0, [r4, 0x18]
- str r0, [r5, 0x1C]
- adds r0, r5, 0
- adds r0, 0x2C
- adds r1, r4, 0
- adds r1, 0x1C
- bl sub_8093FA8
- movs r3, 0
- adds r7, r4, 0
- adds r7, 0x40
- adds r6, r5, 0
- adds r6, 0x28
- adds r5, 0x4C
- adds r2, r4, 0
- adds r2, 0x58
-_0808DFB2:
- adds r0, r5, r3
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x9
- ble _0808DFB2
- ldrb r0, [r7]
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0808DFD4
- adds r0, r6, 0
- adds r1, r7, 0
- bl SlotToHeldItem
- b _0808DFD6
-_0808DFD4:
- strb r1, [r6]
-_0808DFD6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808DF44
-
- thumb_func_start sub_808DFDC
-sub_808DFDC:
- push {lr}
- ldr r3, _0808E000
- movs r2, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r3, r0, r2
- adds r1, 0x40
- ldrb r0, [r1]
- movs r2, 0x1
- ands r2, r0
- cmp r2, 0
- beq _0808E004
- adds r0, r3, 0
- adds r0, 0x28
- bl SlotToHeldItem
- b _0808E00A
- .align 2, 0
-_0808E000: .4byte gRecruitedPokemonRef
-_0808E004:
- adds r0, r3, 0
- adds r0, 0x28
- strb r2, [r0]
-_0808E00A:
- pop {r0}
- bx r0
- thumb_func_end sub_808DFDC
-
- thumb_func_start GetPokemonLevelData
-GetPokemonLevelData:
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- adds r5, r2, 0
- lsls r1, 16
- asrs r2, r1, 16
- ldr r1, _0808E06C
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, r2
- beq _0808E04A
- strh r2, [r1]
- ldr r1, _0808E070
- mov r0, sp
- bl sprintf
- ldr r1, _0808E074
- mov r0, sp
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- ldr r0, _0808E078
- movs r1, 0
- adds r2, r4, 0
- bl DecompressATFile
- adds r0, r4, 0
- bl CloseFile
-_0808E04A:
- subs r5, 0x1
- cmp r5, 0
- bge _0808E052
- movs r5, 0
-_0808E052:
- ldr r0, _0808E078
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- adds r2, r6, 0
- adds r1, r0
- ldm r1!, {r0,r3,r4}
- stm r2!, {r0,r3,r4}
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E06C: .4byte gLevelCurrentPokeId
-_0808E070: .4byte gUnknown_810768C
-_0808E074: .4byte gSystemFileArchive
-_0808E078: .4byte gLevelCurrentData
- thumb_func_end GetPokemonLevelData
-
- thumb_func_start sub_808E07C
-sub_808E07C:
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- ldrb r1, [r2]
- adds r2, 0x1
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0808E094
- ldrb r3, [r2]
- adds r2, 0x1
- b _0808E098
-_0808E094:
- adds r3, r1, 0
- movs r1, 0
-_0808E098:
- movs r0, 0x7F
- ands r3, r0
- ands r1, r0
- lsls r0, r1, 7
- orrs r0, r3
- strh r0, [r4]
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808E07C
-
- thumb_func_start sub_808E0AC
-sub_808E0AC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- mov r8, r2
- adds r5, r3, 0
- lsls r1, 16
- asrs r1, 16
- adds r2, r1, 0
- movs r7, 0
- ldr r0, _0808E0DC
- cmp r1, r0
- beq _0808E0D8
- cmp r1, 0
- beq _0808E0D8
- movs r0, 0xD2
- lsls r0, 1
- cmp r1, r0
- bne _0808E0E0
-_0808E0D8:
- movs r0, 0
- b _0808E170
- .align 2, 0
-_0808E0DC: .4byte 0x000001a5
-_0808E0E0:
- adds r0, r2, 0
- bl sub_8092B18
- adds r1, r0, 0
- mov r4, sp
- movs r0, 0x88
- lsls r0, 1
- mov r10, r0
- movs r3, 0xB1
- lsls r3, 1
- mov r9, r3
- b _0808E156
-_0808E0F8:
- cmp r0, r8
- bne _0808E156
- movs r2, 0x1
- ldrh r0, [r4]
- cmp r0, 0xEE
- bne _0808E110
- ldr r0, _0808E180
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r5, r0
- bge _0808E110
- movs r2, 0
-_0808E110:
- ldrh r0, [r4]
- cmp r0, 0xEF
- bne _0808E122
- ldr r0, _0808E184
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r5, r0
- bge _0808E122
- movs r2, 0
-_0808E122:
- ldrh r0, [r4]
- cmp r0, r10
- bne _0808E134
- ldr r0, _0808E188
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r5, r0
- bge _0808E134
- movs r2, 0
-_0808E134:
- ldrh r0, [r4]
- cmp r0, r9
- bne _0808E146
- ldr r0, _0808E18C
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r5, r0
- bge _0808E146
- movs r2, 0
-_0808E146:
- cmp r2, 0
- beq _0808E156
- cmp r7, 0xF
- bgt _0808E156
- ldrh r0, [r4]
- strh r0, [r6]
- adds r6, 0x2
- adds r7, 0x1
-_0808E156:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0808E16E
- adds r0, r1, 0
- mov r1, sp
- bl sub_808E07C
- adds r1, r0, 0
- ldrb r0, [r1]
- adds r1, 0x1
- cmp r0, r8
- ble _0808E0F8
-_0808E16E:
- adds r0, r7, 0
-_0808E170:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808E180: .4byte gUnknown_810ACB8
-_0808E184: .4byte gUnknown_810ACBA
-_0808E188: .4byte gUnknown_810ACBC
-_0808E18C: .4byte gUnknown_810ACBE
- thumb_func_end sub_808E0AC
-
- thumb_func_start sub_808E190
-sub_808E190:
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- ldr r0, _0808E1B8
- cmp r4, r0
- beq _0808E20C
- cmp r4, 0
- beq _0808E20C
- movs r0, 0xD2
- lsls r0, 1
- cmp r4, r0
- beq _0808E20C
- movs r0, 0xB0
- lsls r0, 1
- cmp r5, r0
- bne _0808E1C0
- b _0808E20C
- .align 2, 0
-_0808E1B8: .4byte 0x000001a5
-_0808E1BC:
- movs r0, 0x1
- b _0808E20E
-_0808E1C0:
- adds r0, r4, 0
- bl sub_8092B18
- adds r1, r0, 0
- b _0808E1DE
-_0808E1CA:
- adds r0, r1, 0
- mov r1, sp
- bl sub_808E07C
- adds r1, r0, 0
- adds r1, 0x1
- mov r0, sp
- ldrh r0, [r0]
- cmp r5, r0
- beq _0808E1BC
-_0808E1DE:
- ldrb r0, [r1]
- cmp r0, 0
- bne _0808E1CA
- adds r0, r4, 0
- bl sub_8092B54
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0808E20C
- mov r4, sp
- adds r4, 0x2
-_0808E1F6:
- adds r0, r1, 0
- adds r1, r4, 0
- bl sub_808E07C
- adds r1, r0, 0
- ldrh r0, [r4]
- cmp r0, r5
- beq _0808E1BC
- ldrb r0, [r1]
- cmp r0, 0
- bne _0808E1F6
-_0808E20C:
- movs r0, 0
-_0808E20E:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808E190
-
- thumb_func_start sub_808E218
-sub_808E218:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r10, r0
- mov r8, r1
- movs r0, 0
- mov r9, r0
- movs r0, 0xCF
- lsls r0, 2
- add r0, r10
- mov r1, r9
- str r1, [r0]
- mov r2, r8
- movs r3, 0x8
- ldrsh r1, [r2, r3]
- ldr r0, _0808E254
- cmp r1, r0
- beq _0808E24E
- cmp r1, 0
- beq _0808E24E
- movs r0, 0xD2
- lsls r0, 1
- cmp r1, r0
- bne _0808E258
-_0808E24E:
- movs r0, 0
- b _0808E396
- .align 2, 0
-_0808E254: .4byte 0x000001a5
-_0808E258:
- mov r0, r8
- mov r1, sp
- bl sub_808E3B8
- str r0, [sp, 0x10]
- movs r5, 0
- cmp r9, r0
- blt _0808E26A
- b _0808E38A
-_0808E26A:
- lsls r4, r5, 2
- mov r1, sp
- adds r0, r1, r4
- movs r2, 0
- ldrsh r0, [r0, r2]
- bl sub_8092B18
- adds r6, r0, 0
- str r4, [sp, 0x18]
- adds r5, 0x1
- str r5, [sp, 0x14]
- b _0808E35E
-_0808E282:
- movs r0, 0xCE
- lsls r0, 1
- cmp r9, r0
- bgt _0808E35E
- movs r7, 0x1
- ldrh r0, [r4]
- cmp r0, 0xEE
- bne _0808E2A4
- ldr r0, _0808E3A8
- mov r3, r8
- movs r4, 0x14
- ldrsh r1, [r3, r4]
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r1, r0
- bge _0808E2A4
- movs r7, 0
-_0808E2A4:
- mov r3, r12
- ldrh r0, [r3]
- cmp r0, 0xEF
- bne _0808E2BE
- ldr r0, _0808E3AC
- mov r4, r8
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bge _0808E2BE
- movs r7, 0
-_0808E2BE:
- mov r4, r12
- ldrh r1, [r4]
- movs r0, 0x88
- lsls r0, 1
- cmp r1, r0
- bne _0808E2DC
- ldr r0, _0808E3B0
- mov r2, r8
- movs r3, 0x14
- ldrsh r1, [r2, r3]
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r1, r0
- bge _0808E2DC
- movs r7, 0
-_0808E2DC:
- mov r0, r12
- ldrh r1, [r0]
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bne _0808E2FA
- ldr r0, _0808E3B4
- mov r2, r8
- movs r3, 0x14
- ldrsh r1, [r2, r3]
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r1, r0
- bge _0808E2FA
- movs r7, 0
-_0808E2FA:
- movs r4, 0x1
- mov r5, r12
- mov r2, r8
- adds r2, 0x2C
- movs r3, 0x3
-_0808E304:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0808E318
- ldrh r0, [r2, 0x2]
- ldrh r1, [r5]
- cmp r0, r1
- bne _0808E318
- movs r7, 0
-_0808E318:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _0808E304
- cmp r7, 0
- beq _0808E35E
- movs r2, 0
- cmp r2, r9
- bge _0808E34A
- mov r3, r10
- ldrh r0, [r3]
- mov r4, r12
- ldrh r4, [r4]
- cmp r0, r4
- beq _0808E34A
- mov r3, r12
- mov r1, r10
-_0808E33A:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r9
- bge _0808E34A
- ldrh r0, [r1]
- ldrh r4, [r3]
- cmp r0, r4
- bne _0808E33A
-_0808E34A:
- cmp r2, r9
- bne _0808E35E
- mov r1, r9
- lsls r0, r1, 1
- add r0, r10
- mov r2, r12
- ldrh r1, [r2]
- strh r1, [r0]
- movs r3, 0x1
- add r9, r3
-_0808E35E:
- ldrb r0, [r6]
- cmp r0, 0
- beq _0808E380
- add r4, sp, 0xC
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_808E07C
- adds r6, r0, 0
- ldrb r0, [r6]
- adds r6, 0x1
- ldr r1, [sp, 0x18]
- add r1, sp
- ldrb r1, [r1, 0x2]
- mov r12, r4
- cmp r0, r1
- ble _0808E282
-_0808E380:
- ldr r5, [sp, 0x14]
- ldr r4, [sp, 0x10]
- cmp r5, r4
- bge _0808E38A
- b _0808E26A
-_0808E38A:
- movs r0, 0xCF
- lsls r0, 2
- add r0, r10
- mov r1, r9
- str r1, [r0]
- mov r0, r9
-_0808E396:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808E3A8: .4byte gUnknown_810ACB8
-_0808E3AC: .4byte gUnknown_810ACBA
-_0808E3B0: .4byte gUnknown_810ACBC
-_0808E3B4: .4byte gUnknown_810ACBE
- thumb_func_end sub_808E218
-
- thumb_func_start sub_808E3B8
-sub_808E3B8:
- push {r4-r7,lr}
- ldrh r2, [r0, 0x8]
- strh r2, [r1]
- ldrb r2, [r0, 0x3]
- strb r2, [r1, 0x2]
- movs r7, 0x1
- movs r3, 0x8
- ldrsh r2, [r0, r3]
- movs r6, 0
- adds r5, r0, 0
- adds r5, 0xC
- adds r4, r1, 0x4
- b _0808E3E0
-_0808E3D2:
- strh r2, [r4]
- ldrb r0, [r5]
- strb r0, [r4, 0x2]
- adds r4, 0x4
- adds r7, 0x1
- adds r5, 0x4
- adds r6, 0x1
-_0808E3E0:
- cmp r6, 0x1
- bgt _0808E3F8
- ldrb r0, [r5]
- cmp r0, 0
- beq _0808E3F8
- adds r0, r2, 0
- bl GetPokemonEvolveFrom
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _0808E3D2
-_0808E3F8:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808E3B8
-
+
thumb_func_start sub_808E400
sub_808E400:
push {r4-r7,lr}
@@ -1095,339 +316,5 @@ _0808E65C: .4byte 0x00000fff
_0808E660: .4byte 0x0000fffe
_0808E664: .4byte 0x0000fffd
thumb_func_end sub_808E53C
-
- thumb_func_start sub_808E668
-sub_808E668:
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 16
- asrs r1, r0, 16
- ldr r2, _0808E6E0
- adds r0, r2
- lsrs r0, 16
- cmp r0, 0x1
- bls _0808E6D6
- adds r0, r1, 0
- bl GetShadowSize
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- ldrsh r2, [r4, r3]
- movs r3, 0x10
- ldrsh r1, [r5, r3]
- adds r2, r1
- movs r1, 0x2
- ldrsh r3, [r4, r1]
- movs r4, 0x12
- ldrsh r1, [r5, r4]
- adds r3, r1
- ldr r4, _0808E6E4
- lsls r1, r0, 2
- adds r1, r4
- ldr r1, [r1]
- adds r2, r1
- subs r3, 0x4
- ldr r1, _0808E6E8
- ands r2, r1
- lsls r0, 3
- ldr r1, _0808E6EC
- adds r0, r1
- ldrh r4, [r0, 0x2]
- movs r1, 0xFE
- lsls r1, 8
- ands r1, r4
- orrs r1, r2
- strh r1, [r0, 0x2]
- ldr r1, _0808E6F0
- ands r3, r1
- lsls r3, 4
- ldrh r2, [r0, 0x6]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r3
- strh r1, [r0, 0x6]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_0808E6D6:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0808E6E0: .4byte 0xffce0000
-_0808E6E4: .4byte gUnknown_81076C4
-_0808E6E8: .4byte 0x000001ff
-_0808E6EC: .4byte gUnknown_202F3E8
-_0808E6F0: .4byte 0x00000fff
- thumb_func_end sub_808E668
-
- thumb_func_start sub_808E6F4
-sub_808E6F4:
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0xA
- bl RandomCapped
- ldr r1, _0808E70C
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- strh r0, [r5]
- movs r4, 0
- b _0808E712
- .align 2, 0
-_0808E70C: .4byte gUnknown_810AC90
-_0808E710:
- adds r4, 0x1
-_0808E712:
- cmp r4, 0x63
- bgt _0808E724
- movs r0, 0x12
- bl RandomCapped
- strb r0, [r5, 0x2]
- lsls r0, 24
- cmp r0, 0
- beq _0808E710
-_0808E724:
- cmp r4, 0x64
- bne _0808E72C
- movs r0, 0x2
- strb r0, [r5, 0x2]
-_0808E72C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808E6F4
-
- thumb_func_start HasRecruitedMon
-HasRecruitedMon:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r4, r0, 16
- movs r3, 0
- ldr r0, _0808E75C
- ldr r2, [r0]
- movs r6, 0x1
- movs r5, 0xCE
- lsls r5, 1
-_0808E746:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0808E760
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, r4
- bne _0808E760
- movs r0, 0x1
- b _0808E76A
- .align 2, 0
-_0808E75C: .4byte gRecruitedPokemonRef
-_0808E760:
- adds r2, 0x58
- adds r3, 0x1
- cmp r3, r5
- ble _0808E746
- movs r0, 0
-_0808E76A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end HasRecruitedMon
-
- thumb_func_start sub_808E770
-sub_808E770:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- ldr r0, _0808E788
- cmp r1, r0
- beq _0808E792
- movs r0, 0xBD
- lsls r0, 1
- cmp r1, r0
- bne _0808E78C
- subs r0, 0x2
- b _0808E854
- .align 2, 0
-_0808E788: .4byte 0x00000179
-_0808E78C:
- ldr r0, _0808E798
- cmp r1, r0
- bne _0808E79C
-_0808E792:
- movs r0, 0xBC
- lsls r0, 1
- b _0808E854
- .align 2, 0
-_0808E798: .4byte 0x0000017b
-_0808E79C:
- cmp r1, 0xCA
- beq _0808E80E
- cmp r1, 0xCB
- beq _0808E80E
- cmp r1, 0xCC
- beq _0808E80E
- cmp r1, 0xCD
- beq _0808E80E
- cmp r1, 0xCE
- beq _0808E80E
- cmp r1, 0xCF
- beq _0808E80E
- cmp r1, 0xD0
- beq _0808E80E
- cmp r1, 0xD1
- beq _0808E80E
- cmp r1, 0xD2
- beq _0808E80E
- cmp r1, 0xD3
- beq _0808E80E
- cmp r1, 0xD4
- beq _0808E80E
- cmp r1, 0xD5
- beq _0808E80E
- cmp r1, 0xD6
- beq _0808E80E
- cmp r1, 0xD7
- beq _0808E80E
- cmp r1, 0xD8
- beq _0808E80E
- cmp r1, 0xD9
- beq _0808E80E
- cmp r1, 0xDA
- beq _0808E80E
- cmp r1, 0xDB
- beq _0808E80E
- cmp r1, 0xDC
- beq _0808E80E
- cmp r1, 0xDD
- beq _0808E80E
- cmp r1, 0xDE
- beq _0808E80E
- cmp r1, 0xDF
- beq _0808E80E
- cmp r1, 0xE0
- beq _0808E80E
- cmp r1, 0xE1
- beq _0808E80E
- cmp r1, 0xE2
- beq _0808E80E
- ldr r0, _0808E814
- cmp r1, r0
- beq _0808E80E
- movs r0, 0xD0
- lsls r0, 1
- cmp r1, r0
- bne _0808E818
-_0808E80E:
- movs r0, 0xC9
- b _0808E854
- .align 2, 0
-_0808E814: .4byte 0x0000019f
-_0808E818:
- ldr r0, _0808E82C
- cmp r1, r0
- beq _0808E836
- movs r0, 0xD1
- lsls r0, 1
- cmp r1, r0
- bne _0808E830
- subs r0, 0x4
- b _0808E854
- .align 2, 0
-_0808E82C: .4byte 0x000001a1
-_0808E830:
- ldr r0, _0808E83C
- cmp r1, r0
- bne _0808E840
-_0808E836:
- movs r0, 0xCF
- lsls r0, 1
- b _0808E854
- .align 2, 0
-_0808E83C: .4byte 0x000001a3
-_0808E840:
- ldr r0, _0808E84C
- cmp r1, r0
- beq _0808E850
- adds r0, r1, 0
- b _0808E854
- .align 2, 0
-_0808E84C: .4byte 0x000001a7
-_0808E850:
- movs r0, 0xCE
- lsls r0, 1
-_0808E854:
- pop {r1}
- bx r1
- thumb_func_end sub_808E770
-
- thumb_func_start sub_808E858
-sub_808E858:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- ldr r0, _0808E874
- cmp r1, r0
- beq _0808E87E
- movs r0, 0xBD
- lsls r0, 1
- cmp r1, r0
- bne _0808E878
- subs r0, 0x2
- b _0808E8C4
- .align 2, 0
-_0808E874: .4byte 0x00000179
-_0808E878:
- ldr r0, _0808E884
- cmp r1, r0
- bne _0808E888
-_0808E87E:
- movs r0, 0xBC
- lsls r0, 1
- b _0808E8C4
- .align 2, 0
-_0808E884: .4byte 0x0000017b
-_0808E888:
- ldr r0, _0808E89C
- cmp r1, r0
- beq _0808E8A6
- movs r0, 0xD1
- lsls r0, 1
- cmp r1, r0
- bne _0808E8A0
- subs r0, 0x4
- b _0808E8C4
- .align 2, 0
-_0808E89C: .4byte 0x000001a1
-_0808E8A0:
- ldr r0, _0808E8AC
- cmp r1, r0
- bne _0808E8B0
-_0808E8A6:
- movs r0, 0xCF
- lsls r0, 1
- b _0808E8C4
- .align 2, 0
-_0808E8AC: .4byte 0x000001a3
-_0808E8B0:
- ldr r0, _0808E8BC
- cmp r2, r0
- beq _0808E8C0
- adds r0, r2, 0
- b _0808E8C4
- .align 2, 0
-_0808E8BC: .4byte 0x000001a7
-_0808E8C0:
- movs r0, 0xCE
- lsls r0, 1
-_0808E8C4:
- pop {r1}
- bx r1
- thumb_func_end sub_808E858
-
+
.align 2, 0 @ Don't pad with nop.