diff options
author | Dennis <dhilhorst2000@gmail.com> | 2021-07-26 06:11:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-25 21:11:01 -0700 |
commit | 645c45431b0e091234699c3706ff90d1654cfb57 (patch) | |
tree | 412551a72247c0d9b21049d5addcbe34014419d3 /asm | |
parent | bad7f7f688253c87c2cb2d063ea57c884cb6adff (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')
-rw-r--r-- | asm/code_8027C84.s | 4 | ||||
-rw-r--r-- | asm/code_803B050.s | 4 | ||||
-rw-r--r-- | asm/code_8057824.s | 20 | ||||
-rw-r--r-- | asm/code_8097670.s | 4 | ||||
-rw-r--r-- | asm/friend_area_action_menu.s | 6 | ||||
-rw-r--r-- | asm/friend_list_menu.s | 34 | ||||
-rw-r--r-- | asm/pokemon.s | 129 | ||||
-rw-r--r-- | asm/pokemon_1.s | 72 | ||||
-rw-r--r-- | asm/pokemon_2.s | 1117 | ||||
-rw-r--r-- | asm/pokemon_3.s | 65 |
10 files changed, 38 insertions, 1417 deletions
diff --git a/asm/code_8027C84.s b/asm/code_8027C84.s index 5057e00..c9fdacd 100644 --- a/asm/code_8027C84.s +++ b/asm/code_8027C84.s @@ -320,7 +320,7 @@ _08027ED8: movs r2, 0x8 ldrsh r0, [r1, r2] adds r1, 0x14 - bl sub_808D800 + bl GivePokemonItem movs r0, 0x6 bl sub_8027184 b _08027F82 @@ -371,7 +371,7 @@ _08027F52: movs r2, 0x8 ldrsh r0, [r1, r2] adds r1, 0x14 - bl sub_808D800 + bl GivePokemonItem movs r0, 0x7 bl sub_8027184 b _08027F82 diff --git a/asm/code_803B050.s b/asm/code_803B050.s index c9ff87c..1b59946 100644 --- a/asm/code_803B050.s +++ b/asm/code_803B050.s @@ -2062,7 +2062,7 @@ sub_803C0DC: push {lr} lsls r0, 16 asrs r0, 16 - bl sub_808E770 + bl GetBaseSpecies lsls r0, 16 asrs r2, r0, 16 ldr r1, _0803C0F0 @@ -2100,7 +2100,7 @@ sub_803C110: cmp r0, 0 beq _0803C180 adds r0, r4, 0 - bl sub_808E770 + bl GetBaseSpecies lsls r0, 16 asrs r0, 16 cmp r4, r0 diff --git a/asm/code_8057824.s b/asm/code_8057824.s index 8cf0799..b715023 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 sub_808DE30 + bl xxx_pokemonstruct_index_to_unk_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 sub_808DE50 + bl xxx_pokemonstruct_to_unk_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 sub_808DF2C + bl xxx_unk_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 sub_808DF44 + bl xxx_unk_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 sub_808DF2C + bl xxx_unk_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 sub_808DF2C + bl xxx_unk_to_pokemonstruct_index_808DF2C _0806940E: bl sub_8044210 lsls r0, 24 @@ -38134,7 +38134,7 @@ sub_806AA0C: cmp r0, 0 beq _0806AA40 adds r0, r4, 0 - bl sub_808E770 + bl GetBaseSpecies lsls r0, 16 movs r1, 0xCF lsls r1, 17 @@ -40078,7 +40078,7 @@ sub_806B8CC: str r0, [r1] _0806B906: adds r0, r4, 0 - bl sub_808E770 + bl GetBaseSpecies lsls r0, 16 asrs r1, r0, 16 movs r0, 0xCF @@ -40598,7 +40598,7 @@ _0806BD20: _0806BD24: movs r4, 0x2 ldrsh r0, [r6, r4] - bl sub_808E770 + bl GetBaseSpecies lsls r0, 16 movs r1, 0xCF lsls r1, 17 @@ -40613,7 +40613,7 @@ _0806BD24: _0806BD42: movs r2, 0x2 ldrsh r0, [r6, r2] - bl sub_808E770 + bl GetBaseSpecies lsls r0, 16 asrs r0, 16 cmp r0, 0x97 diff --git a/asm/code_8097670.s b/asm/code_8097670.s index 288edc3..d84260c 100644 --- a/asm/code_8097670.s +++ b/asm/code_8097670.s @@ -10,7 +10,7 @@ sub_80978C8: push {lr} lsls r0, 16 asrs r0, 16 - bl sub_808E858 + bl GetBaseSpeciesNoUnown lsls r0, 16 asrs r3, r0, 16 ldr r0, _080978FC @@ -42,7 +42,7 @@ sub_8097900: push {lr} lsls r0, 16 asrs r0, 16 - bl sub_808E858 + bl GetBaseSpeciesNoUnown lsls r0, 16 asrs r3, r0, 16 ldr r0, _08097938 diff --git a/asm/friend_area_action_menu.s b/asm/friend_area_action_menu.s index f984e29..3c0a469 100644 --- a/asm/friend_area_action_menu.s +++ b/asm/friend_area_action_menu.s @@ -512,7 +512,7 @@ _0802782C: movs r2, 0x8 ldrsh r0, [r1, r2] adds r1, 0x14 - bl sub_808D7DC + bl PeekPokemonItem movs r0, 0x3 bl sub_8027184 b _080278AE @@ -538,7 +538,7 @@ _08027868: movs r2, 0x8 ldrsh r0, [r1, r2] adds r1, 0x14 - bl sub_808D7DC + bl PeekPokemonItem movs r0, 0x4 bl sub_8027184 b _080278AE @@ -707,7 +707,7 @@ _080279F0: movs r2, 0x8 ldrsh r0, [r1, r2] adds r1, 0x14 - bl sub_808D800 + bl GivePokemonItem bl nullsub_104 _08027A0E: movs r0, 0x2 diff --git a/asm/friend_list_menu.s b/asm/friend_list_menu.s index caa5a02..9c9a903 100644 --- a/asm/friend_list_menu.s +++ b/asm/friend_list_menu.s @@ -3722,7 +3722,7 @@ _08020BD0: ldr r0, [r0, 0x10] movs r1, 0x8 ldrsh r0, [r0, r1] - bl sub_808E858 + bl GetBaseSpeciesNoUnown lsls r0, 16 movs r1, 0xCF lsls r1, 17 @@ -5591,7 +5591,7 @@ _08021A8E: cmp r1, r0 bne _08021AC4 adds r0, r5, 0 - bl sub_808E858 + bl GetBaseSpeciesNoUnown lsls r0, 16 asrs r0, 16 cmp r5, r0 @@ -5686,7 +5686,7 @@ sub_8021B58: push {r4,r5,lr} lsls r0, 16 asrs r0, 16 - bl sub_808E858 + bl GetBaseSpeciesNoUnown lsls r0, 16 asrs r4, r0, 16 movs r2, 0 @@ -9086,7 +9086,7 @@ _080236B0: cmp r0, 0 beq _080236E2 adds r0, r4, 0 - bl sub_808E858 + bl GetBaseSpeciesNoUnown lsls r0, 16 asrs r0, 16 cmp r4, r0 @@ -10802,7 +10802,7 @@ _080243A8: ldrsh r0, [r5, r1] movs r2, 0 ldrsh r1, [r4, r2] - bl sub_808D864 + bl ComparePokemonNames lsls r0, 24 cmp r0, 0 beq _080243C6 @@ -11170,7 +11170,7 @@ sub_802465C: bl sub_808D33C ldr r1, [r5] str r0, [r1, 0xC] - bl sub_808D824 + bl IsPokemonRenamed ldr r1, [r5] strb r0, [r1, 0x10] ldr r0, [r5] @@ -12590,7 +12590,7 @@ sub_8025204: ldr r4, _0802522C ldr r0, [r4] ldr r0, [r0, 0xC] - bl sub_808D824 + bl IsPokemonRenamed ldr r1, [r4] strb r0, [r1, 0x10] movs r0, 0x3 @@ -13351,7 +13351,7 @@ _08025810: cmp r1, r0 bne _08025840 adds r0, r7, 0 - bl sub_808D824 + bl IsPokemonRenamed lsls r0, 24 cmp r0, 0 beq _08025840 @@ -13620,7 +13620,7 @@ _08025A0C: movs r2, 0xE ldrsh r0, [r1, r2] adds r1, 0x18 - bl sub_808D7DC + bl PeekPokemonItem movs r0, 0x3 bl sub_8025434 b _08025A7E @@ -13643,7 +13643,7 @@ _08025A40: movs r2, 0xE ldrsh r0, [r1, r2] adds r1, 0x18 - bl sub_808D7DC + bl PeekPokemonItem movs r0, 0x4 bl sub_8025434 b _08025A7E @@ -13751,7 +13751,7 @@ _08025B40: movs r2, 0xE ldrsh r0, [r1, r2] adds r1, 0x18 - bl sub_808D800 + bl GivePokemonItem bl nullsub_104 movs r0, 0xA bl sub_8025434 @@ -13990,7 +13990,7 @@ _08025D24: movs r2, 0xE ldrsh r0, [r1, r2] adds r1, 0x14 - bl sub_808D800 + bl GivePokemonItem bl sub_801A928 bl nullsub_104 adds r0, r6, 0 @@ -14930,7 +14930,7 @@ sub_80264CC: movs r3, 0xA ldrsh r0, [r1, r3] adds r1, 0x14 - bl sub_808D7DC + bl PeekPokemonItem mov r1, r8 ldrh r0, [r1] lsrs r0, 1 @@ -15577,7 +15577,7 @@ _08026A28: movs r2, 0xA ldrsh r0, [r1, r2] adds r1, 0x14 - bl sub_808D800 + bl GivePokemonItem bl nullsub_104 movs r0, 0x11 bl sub_8026074 @@ -15893,7 +15893,7 @@ _08026C84: movs r2, 0xA ldrsh r0, [r1, r2] adds r1, 0x10 - bl sub_808D800 + bl GivePokemonItem bl sub_801A928 bl nullsub_104 adds r0, r6, 0 @@ -16306,7 +16306,7 @@ _08026FC4: movs r2, 0xA ldrsh r0, [r1, r2] adds r1, 0x14 - bl sub_808D800 + bl GivePokemonItem movs r0, 0xA bl sub_8026074 b _0802706E @@ -16357,7 +16357,7 @@ _0802703E: movs r2, 0xA ldrsh r0, [r1, r2] adds r1, 0x14 - bl sub_808D800 + bl GivePokemonItem movs r0, 0xB bl sub_8026074 b _0802706E diff --git a/asm/pokemon.s b/asm/pokemon.s index 4f14847..5fc8e9e 100644 --- a/asm/pokemon.s +++ b/asm/pokemon.s @@ -1316,133 +1316,4 @@ _0808D7CE: bx r1 thumb_func_end sub_808D750 - thumb_func_start sub_808D7DC -sub_808D7DC: - lsls r0, 16 - asrs r0, 16 - ldr r3, _0808D7FC - movs r2, 0x58 - muls r2, r0 - ldr r0, [r3] - adds r0, r2 - adds r2, r0, 0 - adds r2, 0x28 - ldrb r2, [r2] - strb r2, [r1] - adds r0, 0x29 - ldrb r0, [r0] - strb r0, [r1, 0x1] - bx lr - .align 2, 0 -_0808D7FC: .4byte gRecruitedPokemonRef - thumb_func_end sub_808D7DC - - thumb_func_start sub_808D800 -sub_808D800: - lsls r0, 16 - asrs r0, 16 - ldr r3, _0808D820 - movs r2, 0x58 - muls r2, r0 - ldr r0, [r3] - adds r0, r2 - ldrb r3, [r1] - adds r2, r0, 0 - adds r2, 0x28 - strb r3, [r2] - ldrb r1, [r1, 0x1] - adds r0, 0x29 - strb r1, [r0] - bx lr - .align 2, 0 -_0808D820: .4byte gRecruitedPokemonRef - thumb_func_end sub_808D800 - - thumb_func_start sub_808D824 -sub_808D824: - push {r4,lr} - sub sp, 0x14 - adds r4, r0, 0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - bl GetMonSpecies - adds r1, r0, 0 - mov r0, sp - bl CopyStringtoBuffer - movs r2, 0 - adds r4, 0x4C -_0808D83E: - adds r0, r4, r2 - mov r3, sp - adds r1, r3, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _0808D850 - movs r0, 0 - b _0808D85C -_0808D850: - cmp r0, 0 - beq _0808D85A - adds r2, 0x1 - cmp r2, 0x9 - ble _0808D83E -_0808D85A: - movs r0, 0x1 -_0808D85C: - add sp, 0x14 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_808D824 - - thumb_func_start sub_808D864 -sub_808D864: - push {r4-r7,lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - ldr r2, _0808D8A0 - movs r3, 0x58 - muls r0, r3 - ldr r2, [r2] - adds r0, r2, r0 - adds r6, r0, 0 - adds r6, 0x4C - adds r0, r1, 0 - muls r0, r3 - adds r2, r0 - adds r5, r2, 0 - adds r5, 0x4C - movs r7, 0 -_0808D888: - ldrb r0, [r6] - bl ReturnIntFromChar - adds r4, r0, 0 - ldrb r0, [r5] - bl ReturnIntFromChar - cmp r4, r0 - ble _0808D8A4 - movs r0, 0x1 - b _0808D8B4 - .align 2, 0 -_0808D8A0: .4byte gRecruitedPokemonRef -_0808D8A4: - cmp r4, r0 - blt _0808D8B2 - adds r6, 0x1 - adds r5, 0x1 - adds r7, 0x1 - cmp r7, 0x9 - ble _0808D888 -_0808D8B2: - movs r0, 0 -_0808D8B4: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808D864 - - .align 2,0 diff --git a/asm/pokemon_1.s b/asm/pokemon_1.s deleted file mode 100644 index 5417b8e..0000000 --- a/asm/pokemon_1.s +++ /dev/null @@ -1,72 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_808DA44 -sub_808DA44: - push {r4-r6,lr} - sub sp, 0x30 - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 24 - lsrs r2, r1, 24 - cmp r2, 0xC - bls _0808DAA0 - mov r1, sp - ldr r0, _0808DA98 - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0808DA92 - mov r1, sp - add r3, sp, 0x48 -_0808DA76: - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r0, r4 - bne _0808DA84 - ldr r0, [r1, 0x4] - cmp r0, r2 - beq _0808DA9C -_0808DA84: - adds r1, 0x8 - cmp r1, r3 - bgt _0808DA92 - movs r6, 0 - ldrsh r0, [r1, r6] - cmp r0, 0 - bne _0808DA76 -_0808DA92: - movs r0, 0 - b _0808DAA6 - .align 2, 0 -_0808DA98: .4byte gUnknown_8107654 -_0808DA9C: - movs r0, 0x1 - b _0808DAA6 -_0808DAA0: - ldr r0, _0808DAB0 - adds r0, r2, r0 - ldrb r0, [r0] -_0808DAA6: - add sp, 0x30 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0808DAB0: .4byte gUnknown_8107645 - thumb_func_end sub_808DA44 - - .align 2,0 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. diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index e3647fc..f0308d7 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -5,71 +5,6 @@ .text - thumb_func_start sub_808ED00 -sub_808ED00: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - mov r0, sp - bl sub_808D580 - adds r6, r0, 0 - movs r4, 0 - cmp r4, r6 - bge _0808ED44 - movs r0, 0x58 - mov r8, r0 - mov r7, sp - movs r5, 0 - adds r4, r6, 0 -_0808ED20: - ldr r0, _0808ED70 - ldr r1, [r0] - adds r0, r1, r5 - ldr r2, _0808ED74 - adds r0, r2 - ldm r7!, {r2} - mov r3, r8 - muls r3, r2 - adds r2, r3, 0 - adds r1, r2 - movs r2, 0x58 - bl memcpy - adds r5, 0x58 - subs r4, 0x1 - cmp r4, 0 - bne _0808ED20 - adds r4, r6, 0 -_0808ED44: - cmp r4, 0x3 - bgt _0808ED64 - ldr r5, _0808ED70 - ldr r3, _0808ED74 - movs r2, 0 - movs r0, 0x58 - adds r1, r4, 0 - muls r1, r0 -_0808ED54: - ldr r0, [r5] - adds r0, r1 - adds r0, r3 - strh r2, [r0] - adds r1, 0x58 - adds r4, 0x1 - cmp r4, 0x3 - ble _0808ED54 -_0808ED64: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808ED70: .4byte gRecruitedPokemonRef -_0808ED74: .4byte 0x00008f88 - thumb_func_end sub_808ED00 - thumb_func_start SaveRecruitedPokemon SaveRecruitedPokemon: push {r4-r7,lr} |