summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorDennis <dhilhorst2000@gmail.com>2021-08-01 21:09:13 +0200
committerGitHub <noreply@github.com>2021-08-01 12:09:13 -0700
commit26e5708818765e2abaab29b6ffdfa8f01a5600b7 (patch)
tree28fe7891cad7a46da5e88f0293e2a9f855e14203 /asm
parent645c45431b0e091234699c3706ff90d1654cfb57 (diff)
More pokemon related decomp (#48)
* add struct names * decompile SaveRecruitedPokemon * decompile ReadRecruitedPokemon * decomp anotha one * some renaming * another save function * more backup functions * sub_808E400 * only one function left in pokemon_2.s * decomp one more function * merge 2 structs
Diffstat (limited to 'asm')
-rw-r--r--asm/code_803D110.s16
-rw-r--r--asm/code_8057824.s12
-rw-r--r--asm/code_8090208.s20
-rw-r--r--asm/code_8092334.s56
-rw-r--r--asm/code_8095014.s144
-rw-r--r--asm/code_80958E8.s76
-rw-r--r--asm/code_8097670.s52
-rw-r--r--asm/pokemon.s135
-rw-r--r--asm/pokemon_2.s176
-rw-r--r--asm/pokemon_3.s833
10 files changed, 191 insertions, 1329 deletions
diff --git a/asm/code_803D110.s b/asm/code_803D110.s
index 6111ed1..1eb867c 100644
--- a/asm/code_803D110.s
+++ b/asm/code_803D110.s
@@ -57,7 +57,7 @@ _0803D164:
mov r8, r2
mov r0, sp
adds r1, r7, 0
- bl sub_809486C
+ bl xxx_init_struct_8094924_save_809486C
movs r4, 0
cmp r4, r5
bge _0803D188
@@ -66,7 +66,7 @@ _0803D178:
adds r1, r6, r4
mov r0, sp
movs r2, 0x5
- bl sub_809488C
+ bl SaveIntegerBits
adds r4, 0x1
cmp r4, r5
blt _0803D178
@@ -103,7 +103,7 @@ sub_803D1A8:
_0803D1BC:
asrs r2, 3
mov r0, sp
- bl sub_809485C
+ bl xxx_init_struct_8094924_restore_809485C
movs r4, 0
cmp r4, r5
bge _0803D1DC
@@ -112,7 +112,7 @@ _0803D1CC:
adds r1, r6, r4
mov r0, sp
movs r2, 0x5
- bl sub_8094924
+ bl RestoreIntegerBits
adds r4, 0x1
cmp r4, r5
blt _0803D1CC
@@ -213,7 +213,7 @@ _0803D26C:
adds r1, 0x1
adds r0, r4, 0
movs r2, 0x21
- bl sub_809485C
+ bl xxx_init_struct_8094924_restore_809485C
adds r0, r4, 0
mov r1, r9
bl sub_8095774
@@ -262,7 +262,7 @@ _0803D2E2:
bge _0803D2E2
adds r0, r4, 0
movs r2, 0x21
- bl sub_809486C
+ bl xxx_init_struct_8094924_save_809486C
adds r0, r4, 0
adds r1, r6, 0
bl sub_8095824
@@ -388,7 +388,7 @@ _0803D3C0:
adds r1, 0x1
adds r0, r4, 0
movs r2, 0xC
- bl sub_809485C
+ bl xxx_init_struct_8094924_restore_809485C
adds r0, r4, 0
mov r1, r9
bl sub_80971EC
@@ -437,7 +437,7 @@ _0803D436:
bge _0803D436
adds r0, r4, 0
movs r2, 0xC
- bl sub_809486C
+ bl xxx_init_struct_8094924_save_809486C
adds r0, r4, 0
adds r1, r6, 0
bl sub_8097270
diff --git a/asm/code_8057824.s b/asm/code_8057824.s
index b715023..413eeb2 100644
--- a/asm/code_8057824.s
+++ b/asm/code_8057824.s
@@ -33850,7 +33850,7 @@ _08068922:
mov r9, r0
adds r0, r2, r0
mov r1, r10
- bl xxx_pokemonstruct_index_to_unk_808DE30
+ bl xxx_pokemonstruct_index_to_pokemon2_808DE30
ldr r0, _08068A68
ldr r0, [r0]
ldr r1, _08068A6C
@@ -34079,7 +34079,7 @@ _08068B08:
adds r0, r4, 0
adds r1, r6, 0
ldr r2, _08068B74
- bl xxx_pokemonstruct_to_unk_808DE50
+ bl xxx_pokemonstruct_to_pokemon2_808DE50
ldrh r0, [r4]
movs r1, 0x1
movs r2, 0
@@ -34293,7 +34293,7 @@ _08068CDC:
movs r3, 0xA
ldrsh r0, [r4, r3]
adds r1, r4, 0
- bl xxx_unk_to_pokemonstruct_index_808DF2C
+ bl xxx_pokemon2_to_pokemonstruct_index_808DF2C
b _08068CFE
_08068CE8:
ldr r0, [sp, 0x220]
@@ -34401,7 +34401,7 @@ _08068D6A:
adds r0, r1
str r0, [r4]
adds r1, r5, 0
- bl xxx_unk_to_pokemonstruct_808DF44
+ bl xxx_pokemon2_to_pokemonstruct_808DF44
ldr r2, [r4]
ldrh r0, [r2]
movs r3, 0x80
@@ -34997,7 +34997,7 @@ _08069228:
movs r2, 0xA
ldrsh r0, [r4, r2]
adds r1, r4, 0
- bl xxx_unk_to_pokemonstruct_index_808DF2C
+ bl xxx_pokemon2_to_pokemonstruct_index_808DF2C
_0806926E:
bl sub_8044210
lsls r0, 24
@@ -35196,7 +35196,7 @@ _080693CC:
movs r2, 0xA
ldrsh r0, [r4, r2]
adds r1, r4, 0
- bl xxx_unk_to_pokemonstruct_index_808DF2C
+ bl xxx_pokemon2_to_pokemonstruct_index_808DF2C
_0806940E:
bl sub_8044210
lsls r0, 24
diff --git a/asm/code_8090208.s b/asm/code_8090208.s
index 19e7efa..05fb931 100644
--- a/asm/code_8090208.s
+++ b/asm/code_8090208.s
@@ -60,25 +60,25 @@ _080902EE:
bx r1
thumb_func_end sub_80902C8
- thumb_func_start sub_80902F4
-sub_80902F4:
+ thumb_func_start xxx_save_poke_sub_4_80902F4
+xxx_save_poke_sub_4_80902F4:
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
movs r2, 0x7
- bl sub_809488C
+ bl SaveIntegerBits
adds r4, 0x1
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x7
- bl sub_809488C
+ bl SaveIntegerBits
pop {r4,r5}
pop {r0}
bx r0
- thumb_func_end sub_80902F4
+ thumb_func_end xxx_save_poke_sub_4_80902F4
- thumb_func_start sub_8090314
-sub_8090314:
+ thumb_func_start xxx_restore_poke_sub_4_8090314
+xxx_restore_poke_sub_4_8090314:
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -87,16 +87,16 @@ sub_8090314:
strb r0, [r4, 0x1]
adds r0, r5, 0
movs r2, 0x7
- bl sub_8094924
+ bl RestoreIntegerBits
adds r4, 0x1
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x7
- bl sub_8094924
+ bl RestoreIntegerBits
pop {r4,r5}
pop {r0}
bx r0
- thumb_func_end sub_8090314
+ thumb_func_end xxx_restore_poke_sub_4_8090314
thumb_func_start sub_809033C
sub_809033C:
diff --git a/asm/code_8092334.s b/asm/code_8092334.s
index 2b93365..9b71d63 100644
--- a/asm/code_8092334.s
+++ b/asm/code_8092334.s
@@ -3534,16 +3534,16 @@ sub_80940B8:
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x4
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0x2
adds r0, r4, 0
movs r2, 0x9
- bl sub_809488C
+ bl SaveIntegerBits
adds r5, 0x4
adds r0, r4, 0
adds r1, r5, 0
movs r2, 0x7
- bl sub_809488C
+ bl SaveIntegerBits
pop {r4,r5}
pop {r0}
bx r0
@@ -3555,23 +3555,23 @@ sub_80940E0:
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x4
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0x2
adds r0, r4, 0
movs r2, 0x9
- bl sub_8094924
+ bl RestoreIntegerBits
adds r5, 0x4
adds r0, r4, 0
adds r1, r5, 0
movs r2, 0x7
- bl sub_8094924
+ bl RestoreIntegerBits
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80940E0
- thumb_func_start sub_8094108
-sub_8094108:
+ thumb_func_start xxx_save_poke_sub_2c_8094108
+xxx_save_poke_sub_2c_8094108:
push {r4-r6,lr}
adds r6, r0, 0
adds r4, r1, 0
@@ -3587,10 +3587,10 @@ _08094110:
pop {r4-r6}
pop {r0}
bx r0
- thumb_func_end sub_8094108
+ thumb_func_end xxx_save_poke_sub_2c_8094108
- thumb_func_start sub_8094128
-sub_8094128:
+ thumb_func_start xxx_restore_poke_sub_2c_8094128
+xxx_restore_poke_sub_2c_8094128:
push {r4-r6,lr}
adds r6, r0, 0
adds r4, r1, 0
@@ -3606,7 +3606,7 @@ _08094130:
pop {r4-r6}
pop {r0}
bx r0
- thumb_func_end sub_8094128
+ thumb_func_end xxx_restore_poke_sub_2c_8094128
thumb_func_start sub_8094148
sub_8094148:
@@ -3614,24 +3614,24 @@ sub_8094148:
adds r5, r0, 0
adds r4, r1, 0
movs r2, 0x4
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r4, 0x1
adds r0, r5, 0
movs r2, 0x1
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r4, 0x2
adds r0, r5, 0
movs r2, 0x9
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r4, 0x4
adds r0, r5, 0
movs r2, 0x7
- bl sub_809488C
+ bl SaveIntegerBits
adds r4, 0x5
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x7
- bl sub_809488C
+ bl SaveIntegerBits
pop {r4,r5}
pop {r0}
bx r0
@@ -3656,7 +3656,7 @@ _0809418E:
adds r1, 0x20
adds r0, r6, 0
movs r2, 0x8
- bl sub_809488C
+ bl SaveIntegerBits
pop {r4-r7}
pop {r0}
bx r0
@@ -3674,24 +3674,24 @@ sub_80941B0:
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x4
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r4, 0x1
adds r0, r5, 0
movs r2, 0x1
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r4, 0x2
adds r0, r5, 0
movs r2, 0x9
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r4, 0x4
adds r0, r5, 0
movs r2, 0x7
- bl sub_8094924
+ bl RestoreIntegerBits
adds r4, 0x5
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x7
- bl sub_8094924
+ bl RestoreIntegerBits
pop {r4,r5}
pop {r0}
bx r0
@@ -3718,7 +3718,7 @@ _08094206:
strb r0, [r1]
adds r0, r6, 0
movs r2, 0x8
- bl sub_8094924
+ bl RestoreIntegerBits
pop {r4-r7}
pop {r0}
bx r0
@@ -4068,12 +4068,12 @@ sub_809447C:
adds r5, r0, 0
adds r4, r1, 0
movs r2, 0x10
- bl sub_8094924
+ bl RestoreIntegerBits
adds r4, 0x2
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x10
- bl sub_8094924
+ bl RestoreIntegerBits
pop {r4,r5}
pop {r0}
bx r0
@@ -4085,12 +4085,12 @@ sub_809449C:
adds r5, r0, 0
adds r4, r1, 0
movs r2, 0x10
- bl sub_809488C
+ bl SaveIntegerBits
adds r4, 0x2
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x10
- bl sub_809488C
+ bl SaveIntegerBits
pop {r4,r5}
pop {r0}
bx r0
diff --git a/asm/code_8095014.s b/asm/code_8095014.s
index 3c4419b..f6919cb 100644
--- a/asm/code_8095014.s
+++ b/asm/code_8095014.s
@@ -476,7 +476,7 @@ sub_80954CC:
adds r2, r1, 0
mov r0, sp
adds r1, r3, 0
- bl sub_809485C
+ bl xxx_init_struct_8094924_restore_809485C
ldr r6, _08095618
movs r5, 0
movs r4, 0x1F
@@ -493,7 +493,7 @@ _080954E2:
ldr r1, [r4]
mov r0, sp
movs r2, 0x20
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r5, [r4]
adds r4, r5, 0x4
adds r0, r4, 0
@@ -503,95 +503,95 @@ _080954E2:
mov r0, sp
adds r1, r4, 0
movs r2, 0x2
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0x6
mov r0, sp
movs r2, 0x1
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0x7
mov r0, sp
movs r2, 0x7
- bl sub_8094924
+ bl RestoreIntegerBits
adds r4, 0x4
mov r0, sp
adds r1, r4, 0
- bl sub_8090314
+ bl xxx_restore_poke_sub_4_8090314
adds r1, r5, 0
adds r1, 0xC
mov r0, sp
movs r2, 0x9
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x10
mov r0, sp
- bl sub_808F410
+ bl xxx_restore_poke_sub_c_808F410
adds r1, r5, 0
adds r1, 0x14
mov r0, sp
- bl sub_808F410
+ bl xxx_restore_poke_sub_c_808F410
adds r1, r5, 0
adds r1, 0x18
mov r0, sp
movs r2, 0xA
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x1A
mov r0, sp
movs r2, 0xA
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x1C
mov r0, sp
movs r2, 0x8
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x1D
mov r0, sp
movs r2, 0x8
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x1E
mov r0, sp
movs r2, 0x8
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x1F
mov r0, sp
movs r2, 0x8
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x20
mov r0, sp
movs r2, 0x18
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x24
mov r0, sp
movs r2, 0x18
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x28
mov r0, sp
movs r2, 0x4
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x2C
mov r0, sp
- bl sub_8091DC0
+ bl RestoreHeldItem
adds r1, r5, 0
adds r1, 0x30
mov r0, sp
- bl sub_8094128
+ bl xxx_restore_poke_sub_2c_8094128
adds r1, r5, 0
adds r1, 0x50
mov r0, sp
movs r2, 0x50
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r4, _08095620
ldr r1, [r4]
mov r0, sp
movs r2, 0x20
- bl sub_8094924
+ bl RestoreIntegerBits
adds r6, r4, 0
movs r5, 0x4
movs r4, 0x1F
@@ -600,7 +600,7 @@ _080955F4:
adds r1, r5
mov r0, sp
movs r2, 0x20
- bl sub_8094924
+ bl RestoreIntegerBits
adds r5, 0x4
subs r4, 0x1
cmp r4, 0
@@ -626,7 +626,7 @@ sub_8095624:
adds r2, r1, 0
mov r0, sp
adds r1, r3, 0
- bl sub_809486C
+ bl xxx_init_struct_8094924_save_809486C
ldr r6, _08095768
movs r5, 0
movs r4, 0x1F
@@ -643,101 +643,101 @@ _0809563A:
ldr r1, [r4]
mov r0, sp
movs r2, 0x20
- bl sub_809488C
+ bl SaveIntegerBits
ldr r5, [r4]
adds r4, r5, 0x4
mov r0, sp
adds r1, r4, 0
movs r2, 0x2
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0x6
mov r0, sp
movs r2, 0x1
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0x7
mov r0, sp
movs r2, 0x7
- bl sub_809488C
+ bl SaveIntegerBits
adds r4, 0x4
mov r0, sp
adds r1, r4, 0
- bl sub_80902F4
+ bl xxx_save_poke_sub_4_80902F4
adds r1, r5, 0
adds r1, 0xC
mov r0, sp
movs r2, 0x9
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0x10
mov r0, sp
- bl sub_808F41C
+ bl xxx_save_poke_sub_c_808F41C
adds r1, r5, 0
adds r1, 0x14
mov r0, sp
- bl sub_808F41C
+ bl xxx_save_poke_sub_c_808F41C
adds r1, r5, 0
adds r1, 0x18
mov r0, sp
movs r2, 0xA
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0x1A
mov r0, sp
movs r2, 0xA
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0x1C
mov r0, sp
movs r2, 0x8
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0x1D
mov r0, sp
movs r2, 0x8
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0x1E
mov r0, sp
movs r2, 0x8
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0x1F
mov r0, sp
movs r2, 0x8
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0x20
mov r0, sp
movs r2, 0x18
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0x24
mov r0, sp
movs r2, 0x18
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0x28
mov r0, sp
movs r2, 0x4
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0x2C
mov r0, sp
- bl sub_8091DE0
+ bl SaveHeldItem
adds r1, r5, 0
adds r1, 0x30
mov r0, sp
- bl sub_8094108
+ bl xxx_save_poke_sub_2c_8094108
adds r1, r5, 0
adds r1, 0x50
mov r0, sp
movs r2, 0x50
- bl sub_809488C
+ bl SaveIntegerBits
ldr r4, _08095770
ldr r1, [r4]
mov r0, sp
movs r2, 0x20
- bl sub_809488C
+ bl SaveIntegerBits
adds r6, r4, 0
movs r5, 0x4
movs r4, 0x1F
@@ -746,7 +746,7 @@ _08095742:
adds r1, r5
mov r0, sp
movs r2, 0x20
- bl sub_809488C
+ bl SaveIntegerBits
adds r5, 0x4
subs r4, 0x1
cmp r4, 0
@@ -771,64 +771,64 @@ sub_8095774:
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x4
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0x4
adds r0, r4, 0
- bl sub_8090314
+ bl xxx_restore_poke_sub_4_8090314
adds r1, r5, 0
adds r1, 0x8
adds r0, r4, 0
movs r2, 0x18
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0xC
adds r0, r4, 0
movs r2, 0x9
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x10
adds r0, r4, 0
movs r2, 0x20
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x14
adds r0, r4, 0
movs r2, 0x50
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x20
adds r0, r4, 0
movs r2, 0x8
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x21
adds r0, r4, 0
movs r2, 0x8
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x22
adds r0, r4, 0
movs r2, 0x8
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x24
adds r0, r4, 0
movs r2, 0x20
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x28
adds r0, r4, 0
movs r2, 0x20
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x2C
adds r0, r4, 0
movs r2, 0x8
- bl sub_8094924
+ bl RestoreIntegerBits
adds r0, r4, 0
mov r1, sp
movs r2, 0x1
- bl sub_8094924
+ bl RestoreIntegerBits
mov r0, sp
ldrb r1, [r0]
movs r0, 0x1
@@ -858,60 +858,60 @@ sub_8095824:
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x4
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r4, 0x4
adds r0, r5, 0
- bl sub_80902F4
+ bl xxx_save_poke_sub_4_80902F4
adds r1, r4, 0
adds r1, 0x8
adds r0, r5, 0
movs r2, 0x18
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r4, 0
adds r1, 0xC
adds r0, r5, 0
movs r2, 0x9
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r4, 0
adds r1, 0x10
adds r0, r5, 0
movs r2, 0x20
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r4, 0
adds r1, 0x14
adds r0, r5, 0
movs r2, 0x50
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r4, 0
adds r1, 0x20
adds r0, r5, 0
movs r2, 0x8
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r4, 0
adds r1, 0x21
adds r0, r5, 0
movs r2, 0x8
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r4, 0
adds r1, 0x22
adds r0, r5, 0
movs r2, 0x8
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r4, 0
adds r1, 0x24
adds r0, r5, 0
movs r2, 0x20
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r4, 0
adds r1, 0x28
adds r0, r5, 0
movs r2, 0x20
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r4, 0
adds r1, 0x2C
adds r0, r5, 0
movs r2, 0x8
- bl sub_809488C
+ bl SaveIntegerBits
adds r0, r4, 0
adds r0, 0x2D
ldrb r0, [r0]
@@ -922,7 +922,7 @@ sub_8095824:
_080958D2:
adds r0, r5, 0
movs r2, 0x1
- bl sub_809488C
+ bl SaveIntegerBits
add sp, 0x4
pop {r4-r6}
pop {r0}
diff --git a/asm/code_80958E8.s b/asm/code_80958E8.s
index 89a0109..9928fb0 100644
--- a/asm/code_80958E8.s
+++ b/asm/code_80958E8.s
@@ -2870,7 +2870,7 @@ sub_8096FA0:
adds r2, r1, 0
mov r0, sp
adds r1, r3, 0
- bl sub_809485C
+ bl xxx_init_struct_8094924_restore_809485C
add r7, sp, 0x10
ldr r6, _08097020
movs r5, 0
@@ -2915,7 +2915,7 @@ _08097000:
mov r0, sp
adds r1, r7, 0
movs r2, 0x1
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r1, [sp, 0x10]
ands r1, r6
cmp r1, 0
@@ -2943,7 +2943,7 @@ _08097030:
mov r0, sp
adds r1, r7, 0
movs r2, 0x1
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r1, [sp, 0x10]
movs r2, 0x1
ands r1, r2
@@ -2974,7 +2974,7 @@ _08097068:
movs r2, 0xA0
lsls r2, 1
mov r0, sp
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r1, [r4]
movs r2, 0xDC
lsls r2, 1
@@ -2982,7 +2982,7 @@ _08097068:
movs r2, 0xF0
lsls r2, 2
mov r0, sp
- bl sub_8094924
+ bl RestoreIntegerBits
adds r6, r4, 0
movs r5, 0x8C
lsls r5, 2
@@ -2993,17 +2993,17 @@ _08097096:
adds r1, 0x8
mov r0, sp
movs r2, 0x20
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r1, [r6]
adds r1, r5
adds r1, 0x4
mov r0, sp
movs r2, 0x18
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r1, [r6]
adds r1, r5
mov r0, sp
- bl sub_8090314
+ bl xxx_restore_poke_sub_4_8090314
adds r5, 0xC
subs r4, 0x1
cmp r4, 0
@@ -3027,7 +3027,7 @@ sub_80970D8:
adds r2, r1, 0
mov r0, sp
adds r1, r3, 0
- bl sub_809486C
+ bl xxx_init_struct_8094924_save_809486C
add r7, sp, 0x10
ldr r6, _080971E8
movs r5, 0
@@ -3083,7 +3083,7 @@ _0809714A:
mov r0, sp
adds r1, r7, 0
movs r2, 0x1
- bl sub_809488C
+ bl SaveIntegerBits
adds r4, 0x1
cmp r4, 0x37
ble _08097134
@@ -3102,7 +3102,7 @@ _08097170:
mov r0, sp
adds r1, r7, 0
movs r2, 0x1
- bl sub_809488C
+ bl SaveIntegerBits
ldr r4, _080971E8
ldr r1, [r4]
movs r0, 0xC8
@@ -3111,7 +3111,7 @@ _08097170:
movs r2, 0xA0
lsls r2, 1
mov r0, sp
- bl sub_809488C
+ bl SaveIntegerBits
ldr r1, [r4]
movs r0, 0xDC
lsls r0, 1
@@ -3119,7 +3119,7 @@ _08097170:
movs r2, 0xF0
lsls r2, 2
mov r0, sp
- bl sub_809488C
+ bl SaveIntegerBits
adds r6, r4, 0
movs r5, 0x8C
lsls r5, 2
@@ -3130,17 +3130,17 @@ _080971AA:
adds r1, 0x8
mov r0, sp
movs r2, 0x20
- bl sub_809488C
+ bl SaveIntegerBits
ldr r1, [r6]
adds r1, r5
adds r1, 0x4
mov r0, sp
movs r2, 0x18
- bl sub_809488C
+ bl SaveIntegerBits
ldr r1, [r6]
adds r1, r5
mov r0, sp
- bl sub_80902F4
+ bl xxx_save_poke_sub_4_80902F4
adds r5, 0xC
subs r4, 0x1
cmp r4, 0
@@ -3162,53 +3162,53 @@ sub_80971EC:
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x4
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0x1
adds r0, r4, 0
movs r2, 0x3
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0x2
adds r0, r4, 0
movs r2, 0x4
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0xC
adds r0, r4, 0
movs r2, 0x9
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0xE
adds r0, r4, 0
movs r2, 0x9
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x10
adds r0, r4, 0
movs r2, 0x8
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x11
adds r0, r4, 0
movs r2, 0x4
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x12
adds r0, r4, 0
movs r2, 0x8
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x13
adds r0, r4, 0
movs r2, 0x6
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0
adds r1, 0x8
adds r0, r4, 0
movs r2, 0x18
- bl sub_8094924
+ bl RestoreIntegerBits
adds r1, r5, 0x4
adds r0, r4, 0
- bl sub_8090314
+ bl xxx_restore_poke_sub_4_8090314
pop {r4,r5}
pop {r0}
bx r0
@@ -3220,53 +3220,53 @@ sub_8097270:
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x4
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0x1
adds r0, r4, 0
movs r2, 0x3
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0x2
adds r0, r4, 0
movs r2, 0x4
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0xC
adds r0, r4, 0
movs r2, 0x9
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0xE
adds r0, r4, 0
movs r2, 0x9
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0x10
adds r0, r4, 0
movs r2, 0x8
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0x11
adds r0, r4, 0
movs r2, 0x4
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0x12
adds r0, r4, 0
movs r2, 0x8
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0x13
adds r0, r4, 0
movs r2, 0x6
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0
adds r1, 0x8
adds r0, r4, 0
movs r2, 0x18
- bl sub_809488C
+ bl SaveIntegerBits
adds r1, r5, 0x4
adds r0, r4, 0
- bl sub_80902F4
+ bl xxx_save_poke_sub_4_80902F4
pop {r4,r5}
pop {r0}
bx r0
diff --git a/asm/code_8097670.s b/asm/code_8097670.s
index d84260c..0039819 100644
--- a/asm/code_8097670.s
+++ b/asm/code_8097670.s
@@ -463,63 +463,63 @@ sub_8097C18:
adds r1, 0x4
adds r0, r5, 0
movs r2, 0x11
- bl sub_809488C
+ bl SaveIntegerBits
ldr r1, [r4]
adds r1, 0x8
adds r0, r5, 0
movs r2, 0x11
- bl sub_809488C
+ bl SaveIntegerBits
ldr r1, [r4]
adds r1, 0xC
adds r0, r5, 0
movs r2, 0x11
- bl sub_809488C
+ bl SaveIntegerBits
ldr r1, [r4]
adds r0, r5, 0
movs r2, 0x20
- bl sub_809488C
+ bl SaveIntegerBits
ldr r1, [r4]
adds r1, 0x14
adds r0, r5, 0
movs r2, 0xE
- bl sub_809488C
+ bl SaveIntegerBits
ldr r1, [r4]
adds r1, 0x16
adds r0, r5, 0
movs r2, 0xE
- bl sub_809488C
+ bl SaveIntegerBits
ldr r1, [r4]
adds r1, 0x18
adds r0, r5, 0
movs r2, 0x9
- bl sub_809488C
+ bl SaveIntegerBits
ldr r1, [r4]
adds r1, 0xC0
adds r0, r5, 0
movs r2, 0x11
- bl sub_809488C
+ bl SaveIntegerBits
ldr r1, [r4]
adds r1, 0x1C
movs r6, 0xE0
lsls r6, 1
adds r0, r5, 0
adds r2, r6, 0
- bl sub_809488C
+ bl SaveIntegerBits
ldr r1, [r4]
adds r1, 0x54
adds r0, r5, 0
adds r2, r6, 0
- bl sub_809488C
+ bl SaveIntegerBits
ldr r1, [r4]
adds r1, 0x8C
movs r2, 0xD0
lsls r2, 1
adds r0, r5, 0
- bl sub_809488C
+ bl SaveIntegerBits
ldr r1, [r4]
adds r1, 0x10
adds r0, r5, 0
- bl sub_80902F4
+ bl xxx_save_poke_sub_4_80902F4
pop {r4-r6}
pop {r0}
bx r0
@@ -535,63 +535,63 @@ sub_8097CC0:
ldr r1, [r4]
adds r1, 0x4
movs r2, 0x11
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r1, [r4]
adds r1, 0x8
adds r0, r5, 0
movs r2, 0x11
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r1, [r4]
adds r1, 0xC
adds r0, r5, 0
movs r2, 0x11
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r1, [r4]
adds r0, r5, 0
movs r2, 0x20
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r1, [r4]
adds r1, 0x14
adds r0, r5, 0
movs r2, 0xE
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r1, [r4]
adds r1, 0x16
adds r0, r5, 0
movs r2, 0xE
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r1, [r4]
adds r1, 0x18
adds r0, r5, 0
movs r2, 0x9
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r1, [r4]
adds r1, 0xC0
adds r0, r5, 0
movs r2, 0x11
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r1, [r4]
adds r1, 0x1C
movs r6, 0xE0
lsls r6, 1
adds r0, r5, 0
adds r2, r6, 0
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r1, [r4]
adds r1, 0x54
adds r0, r5, 0
adds r2, r6, 0
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r1, [r4]
adds r1, 0x8C
movs r2, 0xD0
lsls r2, 1
adds r0, r5, 0
- bl sub_8094924
+ bl RestoreIntegerBits
ldr r1, [r4]
adds r1, 0x10
adds r0, r5, 0
- bl sub_8090314
+ bl xxx_restore_poke_sub_4_8090314
pop {r4-r6}
pop {r0}
bx r0
@@ -607,7 +607,7 @@ sub_8097D60:
adds r2, r1, 0
mov r0, sp
adds r1, r3, 0
- bl sub_809486C
+ bl xxx_init_struct_8094924_save_809486C
mov r0, sp
bl WriteGameOptions
mov r0, sp
@@ -632,7 +632,7 @@ sub_8097D98:
adds r2, r1, 0
mov r0, sp
adds r1, r3, 0
- bl sub_809485C
+ bl xxx_init_struct_8094924_restore_809485C
mov r0, sp
bl ReadGameOptions
mov r0, sp
diff --git a/asm/pokemon.s b/asm/pokemon.s
index 5fc8e9e..d5c7f42 100644
--- a/asm/pokemon.s
+++ b/asm/pokemon.s
@@ -1182,138 +1182,5 @@ _0808D6CE:
.align 2, 0
_0808D6E4: .4byte gRecruitedPokemonRef
thumb_func_end sub_808D6A4
-
- thumb_func_start sub_808D6E8
-sub_808D6E8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- movs r5, 0
- movs r4, 0
- ldr r0, _0808D740
- mov r8, r0
- movs r6, 0x1
-_0808D6FA:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- mov r2, r8
- ldr r0, [r2]
- adds r2, r0, r1
- ldrh r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0808D728
- lsrs r0, r1, 1
- ands r0, r6
- cmp r0, 0
- beq _0808D728
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- bl GetPokemonSize
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0
- adds r7, 0x1
-_0808D728:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _0808D6FA
- cmp r5, 0x5
- bgt _0808D744
- cmp r7, 0x3
- bgt _0808D744
- movs r0, 0x1
- b _0808D746
- .align 2, 0
-_0808D740: .4byte gRecruitedPokemonRef
-_0808D744:
- movs r0, 0
-_0808D746:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808D6E8
-
- thumb_func_start sub_808D750
-sub_808D750:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- movs r6, 0
- movs r5, 0
- movs r4, 0
- ldr r0, _0808D7C8
- mov r9, r0
- movs r7, 0x1
-_0808D76A:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- mov r2, r9
- ldr r0, [r2]
- adds r1, r0, r1
- ldrh r2, [r1]
- adds r0, r7, 0
- ands r0, r2
- cmp r0, 0
- beq _0808D798
- lsrs r0, r2, 1
- ands r0, r7
- cmp r0, 0
- beq _0808D798
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- bl GetPokemonSize
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0
- adds r6, 0x1
-_0808D798:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _0808D76A
- cmp r6, 0x3
- bgt _0808D7CC
- ldr r2, _0808D7C8
- movs r0, 0x58
- mov r1, r8
- muls r1, r0
- ldr r0, [r2]
- adds r1, r0, r1
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- bl GetPokemonSize
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0
- cmp r5, 0x6
- bgt _0808D7CC
- movs r0, 0x1
- b _0808D7CE
- .align 2, 0
-_0808D7C8: .4byte gRecruitedPokemonRef
-_0808D7CC:
- movs r0, 0
-_0808D7CE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808D750
-
+
.align 2,0
diff --git a/asm/pokemon_2.s b/asm/pokemon_2.s
index cf8c39d..dec099a 100644
--- a/asm/pokemon_2.s
+++ b/asm/pokemon_2.s
@@ -3,181 +3,7 @@
.syntax unified
- .text
-
- thumb_func_start sub_808E400
-sub_808E400:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- asrs r0, 16
- mov r9, r0
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x4]
- movs r0, 0
- mov r10, r0
- movs r7, 0x1
- adds r6, r1, 0
-_0808E426:
- lsls r0, r7, 16
- asrs r5, r0, 16
- mov r8, r5
- adds r0, r5, 0
- bl GetPokemonEvolveFrom
- lsls r0, 16
- asrs r0, 16
- cmp r9, r0
- bne _0808E46C
- ldr r0, [sp]
- cmp r0, 0
- bne _0808E456
- mov r0, r9
- bl GetPokemonSize
- adds r4, r0, 0
- adds r0, r5, 0
- bl GetPokemonSize
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _0808E46C
-_0808E456:
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bne _0808E462
- ldr r0, _0808E488
- cmp r5, r0
- beq _0808E46C
-_0808E462:
- mov r0, r8
- strh r0, [r6]
- adds r6, 0x2
- movs r0, 0x1
- add r10, r0
-_0808E46C:
- adds r7, 0x1
- ldr r0, _0808E48C
- cmp r7, r0
- ble _0808E426
- mov r0, r10
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808E488: .4byte 0x0000013d
-_0808E48C: .4byte 0x000001a7
- thumb_func_end sub_808E400
-
- thumb_func_start sub_808E490
-sub_808E490:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x20
- mov r8, r0
- lsls r1, 16
- asrs r1, 16
- ldr r3, _0808E4F8
- mov r0, sp
- movs r2, 0x1
- bl sub_808E0AC
- adds r7, r0, 0
- cmp r7, 0
- bne _0808E4B8
- movs r7, 0x1
- mov r1, sp
- movs r0, 0xCC
- lsls r0, 1
- strh r0, [r1]
-_0808E4B8:
- movs r4, 0
- cmp r4, r7
- bge _0808E4D8
- mov r6, sp
- mov r5, r8
- adds r4, r7, 0
-_0808E4C4:
- ldrh r1, [r6]
- adds r0, r5, 0
- bl sub_8092AD4
- adds r6, 0x2
- adds r5, 0x8
- subs r4, 0x1
- cmp r4, 0
- bne _0808E4C4
- adds r4, r7, 0
-_0808E4D8:
- cmp r4, 0x3
- bgt _0808E4EC
- movs r1, 0
- lsls r0, r4, 3
- add r0, r8
-_0808E4E2:
- strb r1, [r0]
- adds r0, 0x8
- adds r4, 0x1
- cmp r4, 0x3
- ble _0808E4E2
-_0808E4EC:
- add sp, 0x20
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E4F8: .4byte 0x000003e7
- thumb_func_end sub_808E490
-
- thumb_func_start sub_808E4FC
-sub_808E4FC:
- push {lr}
- sub sp, 0x10
- ldr r1, _0808E518
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- mov r1, sp
- bl sub_8097DF0
- ldr r0, [sp]
- ldr r0, [r0]
- add sp, 0x10
- pop {r1}
- bx r1
- .align 2, 0
-_0808E518: .4byte gFormattedStatusNames
- thumb_func_end sub_808E4FC
-
- thumb_func_start sub_808E51C
-sub_808E51C:
- push {lr}
- sub sp, 0x10
- ldr r1, _0808E538
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- mov r1, sp
- bl sub_8097DF0
- ldr r0, [sp]
- ldr r0, [r0, 0x4]
- add sp, 0x10
- pop {r1}
- bx r1
- .align 2, 0
-_0808E538: .4byte gFormattedStatusNames
- thumb_func_end sub_808E51C
+ .text
thumb_func_start sub_808E53C
sub_808E53C:
diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s
index f0308d7..ccf5979 100644
--- a/asm/pokemon_3.s
+++ b/asm/pokemon_3.s
@@ -3,838 +3,7 @@
.syntax unified
- .text
-
- thumb_func_start SaveRecruitedPokemon
-SaveRecruitedPokemon:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- adds r3, r0, 0
- adds r2, r1, 0
- add r4, sp, 0xC
- adds r0, r4, 0
- adds r1, r3, 0
- bl sub_809486C
- mov r10, r4
- mov r0, sp
- adds r0, 0x1E
- str r0, [sp, 0x20]
- add r1, sp, 0x1C
- mov r8, r1
- ldr r0, _0808EDF0
- adds r2, r0, 0
- mov r1, sp
- movs r5, 0x5
-_0808EDA6:
- ldrh r0, [r1]
- orrs r0, r2
- strh r0, [r1]
- adds r1, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _0808EDA6
- movs r0, 0x1
- negs r0, r0
- ldr r1, [sp, 0x20]
- strh r0, [r1]
- movs r5, 0
- mov r4, sp
-_0808EDC0:
- ldr r2, _0808EDF4
- movs r0, 0x58
- adds r1, r5, 0
- muls r1, r0
- ldr r0, [r2]
- adds r1, r0, r1
- ldrh r2, [r1]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _0808EDF8
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0808EDE2
- strh r5, [r4]
- adds r4, 0x2
-_0808EDE2:
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _0808EDFA
- ldr r0, [sp, 0x20]
- strh r5, [r0]
- b _0808EDFA
- .align 2, 0
-_0808EDF0: .4byte 0x0000ffff
-_0808EDF4: .4byte gRecruitedPokemonRef
-_0808EDF8:
- strb r0, [r1, 0x3]
-_0808EDFA:
- mov r0, r10
- bl sub_808EFA0
- adds r5, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- ble _0808EDC0
- ldr r1, _0808EE34
- mov r9, r1
- mov r4, r10
- ldr r7, _0808EE38
- movs r6, 0
- movs r5, 0x3
-_0808EE16:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r6, r0
- ldr r1, _0808EE38
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0808EE3C
- movs r0, 0xFF
- mov r1, r8
- strb r0, [r1]
- b _0808EE40
- .align 2, 0
-_0808EE34: .4byte gRecruitedPokemonRef
-_0808EE38: .4byte 0x00008f88
-_0808EE3C:
- mov r0, r8
- strb r1, [r0]
-_0808EE40:
- adds r0, r4, 0
- mov r1, r8
- movs r2, 0x1
- bl sub_809488C
- mov r0, r9
- ldr r1, [r0]
- adds r1, r7
- adds r0, r4, 0
- bl sub_808EFA0
- adds r7, 0x58
- adds r6, 0x58
- subs r5, 0x1
- cmp r5, 0
- bge _0808EE16
- mov r4, sp
- movs r5, 0x5
-_0808EE64:
- mov r0, r10
- adds r1, r4, 0
- movs r2, 0x10
- bl sub_809488C
- adds r4, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _0808EE64
- mov r0, r10
- ldr r1, [sp, 0x20]
- movs r2, 0x10
- bl sub_809488C
- mov r0, r10
- bl nullsub_102
- mov r1, r10
- ldr r0, [r1, 0x8]
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end SaveRecruitedPokemon
-
- thumb_func_start ReadRecruitedPokemon
-ReadRecruitedPokemon:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809485C
- movs r5, 0
- add r7, sp, 0x10
- movs r0, 0x12
- add r0, sp
- mov r8, r0
- ldr r6, _0808EF10
- movs r4, 0
-_0808EEBE:
- ldr r1, [r6]
- adds r1, r4
- mov r0, sp
- bl sub_808F068
- adds r4, 0x58
- adds r5, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- ble _0808EEBE
- movs r5, 0
- adds r6, r7, 0
- ldr r7, _0808EF10
-_0808EEDA:
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0x1
- bl sub_8094924
- movs r0, 0x58
- adds r4, r5, 0
- muls r4, r0
- ldr r1, _0808EF14
- adds r0, r4, r1
- ldr r1, [r7]
- adds r1, r0
- mov r0, sp
- bl sub_808F068
- ldrb r0, [r6]
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0808EF18
- ldr r0, [r7]
- adds r0, r4
- ldr r2, _0808EF14
- adds r0, r2
- movs r1, 0x3
- b _0808EF20
- .align 2, 0
-_0808EF10: .4byte gRecruitedPokemonRef
-_0808EF14: .4byte 0x00008f88
-_0808EF18:
- ldr r0, [r7]
- adds r0, r4
- ldr r3, _0808EF98
- adds r0, r3
-_0808EF20:
- strh r1, [r0]
- adds r5, 0x1
- cmp r5, 0x3
- ble _0808EEDA
- mov r4, r8
- movs r6, 0xCE
- lsls r6, 1
- movs r5, 0x5
-_0808EF30:
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x10
- bl sub_8094924
- ldrh r0, [r4]
- cmp r0, r6
- bhi _0808EF56
- ldr r0, _0808EF9C
- ldr r2, [r0]
- movs r0, 0
- ldrsh r1, [r4, r0]
- movs r0, 0x58
- muls r0, r1
- adds r2, r0
- ldrh r1, [r2]
- movs r0, 0x2
- orrs r0, r1
- strh r0, [r2]
-_0808EF56:
- subs r5, 0x1
- cmp r5, 0
- bge _0808EF30
- mov r0, sp
- mov r1, r8
- movs r2, 0x10
- bl sub_8094924
- mov r2, r8
- ldrh r1, [r2]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bhi _0808EF84
- ldr r0, _0808EF9C
- ldr r1, [r0]
- movs r3, 0
- ldrsh r2, [r2, r3]
- movs r0, 0x58
- muls r0, r2
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_0808EF84:
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808EF98: .4byte 0x00008f88
-_0808EF9C: .4byte gRecruitedPokemonRef
- thumb_func_end ReadRecruitedPokemon
-
- thumb_func_start sub_808EFA0
-sub_808EFA0:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r1, r5, 0x3
- movs r2, 0x7
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x8
- adds r0, r4, 0
- movs r2, 0x9
- bl sub_809488C
- adds r1, r5, 0x4
- adds r0, r4, 0
- bl sub_80902F4
- adds r1, r5, 0
- adds r1, 0xC
- adds r0, r4, 0
- bl sub_808F41C
- adds r1, r5, 0
- adds r1, 0x10
- adds r0, r4, 0
- bl sub_808F41C
- adds r1, r5, 0
- adds r1, 0x14
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x16
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x18
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x19
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x1A
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x1B
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r4, 0
- movs r2, 0x18
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x20
- adds r0, r4, 0
- movs r2, 0x18
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x24
- adds r0, r4, 0
- movs r2, 0x4
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x28
- adds r0, r4, 0
- bl sub_8091DE0
- adds r1, r5, 0
- adds r1, 0x2C
- adds r0, r4, 0
- bl sub_8094108
- adds r1, r5, 0
- adds r1, 0x4C
- adds r0, r4, 0
- movs r2, 0x50
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808EFA0
-
- thumb_func_start sub_808F068
-sub_808F068:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x58
- bl memset
- movs r6, 0
- movs r0, 0
- strh r0, [r4]
- strb r6, [r4, 0x2]
- adds r1, r4, 0x3
- adds r0, r5, 0
- movs r2, 0x7
- bl sub_8094924
- ldrb r0, [r4, 0x3]
- cmp r0, 0
- beq _0808F098
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
-_0808F098:
- adds r1, r4, 0
- adds r1, 0x8
- adds r0, r5, 0
- movs r2, 0x9
- bl sub_8094924
- adds r1, r4, 0x4
- adds r0, r5, 0
- bl sub_8090314
- adds r1, r4, 0
- adds r1, 0xC
- adds r0, r5, 0
- bl sub_808F410
- adds r1, r4, 0
- adds r1, 0x10
- adds r0, r5, 0
- bl sub_808F410
- adds r1, r4, 0
- adds r1, 0x14
- adds r0, r5, 0
- movs r2, 0xA
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x16
- adds r0, r5, 0
- movs r2, 0xA
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x18
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x19
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x1A
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x1B
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r5, 0
- movs r2, 0x18
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x20
- adds r0, r5, 0
- movs r2, 0x18
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x24
- adds r0, r5, 0
- movs r2, 0x4
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x28
- adds r0, r5, 0
- bl sub_8091DC0
- adds r1, r4, 0
- adds r1, 0x2C
- adds r0, r5, 0
- bl sub_8094128
- adds r1, r4, 0
- adds r1, 0x4C
- adds r0, r5, 0
- movs r2, 0x50
- bl sub_8094924
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_808F068
-
- thumb_func_start sub_808F154
-sub_808F154:
- push {r4-r7,lr}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809486C
- add r2, sp, 0x10
- movs r0, 0xFF
- strb r0, [r2]
- mov r1, sp
- adds r1, 0x11
- movs r0, 0
- strb r0, [r1]
- movs r5, 0
- adds r6, r2, 0
- adds r7, r1, 0
-_0808F178:
- ldr r1, _0808F2A8
- movs r0, 0x64
- muls r0, r5
- ldr r2, _0808F2AC
- adds r0, r2
- ldr r1, [r1]
- adds r4, r1, r0
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x2
- bl sub_809488C
- ldrb r0, [r4, 0x2]
- adds r1, r7, 0
- cmp r0, 0
- beq _0808F19A
- adds r1, r6, 0
-_0808F19A:
- mov r0, sp
- movs r2, 0x1
- bl sub_809488C
- adds r1, r4, 0x3
- mov r0, sp
- movs r2, 0x7
- bl sub_809488C
- adds r1, r4, 0x4
- mov r0, sp
- bl sub_80902F4
- adds r1, r4, 0
- adds r1, 0x8
- mov r0, sp
- movs r2, 0xA
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0xA
- mov r0, sp
- movs r2, 0x10
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0xC
- mov r0, sp
- movs r2, 0x10
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0xE
- mov r0, sp
- movs r2, 0x9
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x10
- mov r0, sp
- movs r2, 0xA
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x12
- mov r0, sp
- movs r2, 0xA
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x14
- mov r0, sp
- movs r2, 0x8
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x15
- mov r0, sp
- movs r2, 0x8
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x16
- mov r0, sp
- movs r2, 0x8
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x17
- mov r0, sp
- movs r2, 0x8
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x18
- mov r0, sp
- movs r2, 0x18
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x1C
- mov r0, sp
- bl sub_8094184
- adds r1, r4, 0
- adds r1, 0x40
- mov r0, sp
- bl sub_8091E28
- adds r1, r4, 0
- adds r1, 0x44
- mov r0, sp
- bl sub_809449C
- adds r1, r4, 0
- adds r1, 0x48
- mov r0, sp
- bl sub_809449C
- adds r1, r4, 0
- adds r1, 0x4C
- mov r0, sp
- movs r2, 0x18
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x50
- mov r0, sp
- movs r2, 0x4
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x54
- mov r0, sp
- bl sub_808F448
- adds r1, r4, 0
- adds r1, 0x58
- mov r0, sp
- movs r2, 0x50
- bl sub_809488C
- adds r5, 0x1
- cmp r5, 0x3
- bgt _0808F296
- b _0808F178
-_0808F296:
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808F2A8: .4byte gRecruitedPokemonRef
-_0808F2AC: .4byte 0x00008df8
- thumb_func_end sub_808F154
-
- thumb_func_start sub_808F2B0
-sub_808F2B0:
- push {r4-r6,lr}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809485C
- movs r5, 0
- add r6, sp, 0x10
-_0808F2C4:
- ldr r1, _0808F300
- movs r0, 0x64
- muls r0, r5
- ldr r2, _0808F304
- adds r0, r2
- ldr r1, [r1]
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x64
- bl memset
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x2
- bl sub_8094924
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0x1
- bl sub_8094924
- ldrb r0, [r6]
- movs r2, 0x1
- adds r1, r2, 0
- ands r1, r0
- cmp r1, 0
- beq _0808F308
- strb r2, [r4, 0x2]
- b _0808F30A
- .align 2, 0
-_0808F300: .4byte gRecruitedPokemonRef
-_0808F304: .4byte 0x00008df8
-_0808F308:
- strb r1, [r4, 0x2]
-_0808F30A:
- adds r1, r4, 0x3
- mov r0, sp
- movs r2, 0x7
- bl sub_8094924
- adds r1, r4, 0x4
- mov r0, sp
- bl sub_8090314
- adds r1, r4, 0
- adds r1, 0x8
- mov r0, sp
- movs r2, 0xA
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0xA
- mov r0, sp
- movs r2, 0x10
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0xC
- mov r0, sp
- movs r2, 0x10
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0xE
- mov r0, sp
- movs r2, 0x9
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x10
- mov r0, sp
- movs r2, 0xA
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x12
- mov r0, sp
- movs r2, 0xA
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x14
- mov r0, sp
- movs r2, 0x8
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x15
- mov r0, sp
- movs r2, 0x8
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x16
- mov r0, sp
- movs r2, 0x8
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x17
- mov r0, sp
- movs r2, 0x8
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x18
- mov r0, sp
- movs r2, 0x18
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x1C
- mov r0, sp
- bl sub_80941FC
- adds r1, r4, 0
- adds r1, 0x40
- mov r0, sp
- bl sub_8091E00
- adds r1, r4, 0
- adds r1, 0x44
- mov r0, sp
- bl sub_809447C
- adds r1, r4, 0
- adds r1, 0x48
- mov r0, sp
- bl sub_809447C
- adds r1, r4, 0
- adds r1, 0x4C
- mov r0, sp
- movs r2, 0x18
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x50
- mov r0, sp
- movs r2, 0x4
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x54
- mov r0, sp
- bl sub_808F428
- adds r1, r4, 0
- adds r1, 0x58
- mov r0, sp
- movs r2, 0x50
- bl sub_8094924
- adds r5, 0x1
- cmp r5, 0x3
- bgt _0808F3FE
- b _0808F2C4
-_0808F3FE:
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808F2B0
-
- thumb_func_start sub_808F410
-sub_808F410:
- push {lr}
- movs r2, 0x7
- bl sub_8094924
- pop {r0}
- bx r0
- thumb_func_end sub_808F410
-
- thumb_func_start sub_808F41C
-sub_808F41C:
- push {lr}
- movs r2, 0x7
- bl sub_809488C
- pop {r0}
- bx r0
- thumb_func_end sub_808F41C
-
- thumb_func_start sub_808F428
-sub_808F428:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0xA
- bl sub_8094924
- adds r4, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x5
- bl sub_8094924
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808F428
-
- thumb_func_start sub_808F448
-sub_808F448:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0xA
- bl sub_809488C
- adds r4, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x5
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808F448
+ .text
thumb_func_start sub_808F468
sub_808F468: