diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2021-02-27 10:16:45 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-27 12:16:45 -0600 |
commit | d72e17b5f5d795bebda2f6dc78dccb5e80c432b5 (patch) | |
tree | 776df17a36e2b30d2b362649db4408d701d55f9d | |
parent | 7fa4f1a92bdc4cefb094f9e3f1144ad3e3a588d9 (diff) |
Miscellaneous decomp/labeling/splitting (#29)
* lots of wonder mail work, credits and label some stuff
* nonmatch one intr func, match another, and label unused intr func
* seperate credits out
* split out debug menu and other stuff that isn't main menu
* label another func
* label some more funcs
38 files changed, 6594 insertions, 6224 deletions
diff --git a/asm/code_2.s b/asm/code_2.s index 994f260..626681a 100644 --- a/asm/code_2.s +++ b/asm/code_2.s @@ -1262,10 +1262,10 @@ sub_8001064: movs r0, 0x4 ldrsh r1, [r5, r0] adds r0, r4, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer mov r0, sp adds r1, r4, 0 - bl sub_80922F4 + bl CopyStringtoBuffer movs r1, 0x4 ldrsh r0, [r5, r1] movs r1, 0x1 @@ -1293,10 +1293,10 @@ _080010AE: movs r0, 0x6 ldrsh r1, [r5, r0] adds r0, r4, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer mov r0, sp adds r1, r4, 0 - bl sub_80922F4 + bl CopyStringtoBuffer movs r1, 0x6 ldrsh r0, [r5, r1] movs r1, 0 diff --git a/asm/code_800B5F0.s b/asm/code_800B5F0.s index fd2f643..2afdbed 100644 --- a/asm/code_800B5F0.s +++ b/asm/code_800B5F0.s @@ -227,206 +227,4 @@ _0800B8BC: bx r0 thumb_func_end sub_800B850 - thumb_func_start nullsub_177 -nullsub_177: - bx lr - thumb_func_end nullsub_177 - - thumb_func_start VBlankIntr -VBlankIntr: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _0800B95C - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - bl SoundVSync - bl BlinkSavingIcon - ldr r0, _0800B960 - ldr r0, [r0, 0x4] - cmp r0, 0 - beq _0800B8EE - bl _call_via_r0 -_0800B8EE: - movs r2, 0 - ldr r3, _0800B964 - movs r1, 0 - ldrsh r0, [r3, r1] - adds r6, r3, 0 - ldr r7, _0800B968 - ldr r1, _0800B96C - mov r12, r1 - ldr r1, _0800B970 - mov r8, r1 - ldr r1, _0800B974 - mov r9, r1 - ldr r1, _0800B978 - mov r10, r1 - cmp r2, r0 - bge _0800B920 - ldr r5, _0800B97C - ldr r4, _0800B980 -_0800B912: - ldm r5!, {r0,r1} - stm r4!, {r0,r1} - adds r2, 0x1 - movs r1, 0 - ldrsh r0, [r3, r1] - cmp r2, r0 - blt _0800B912 -_0800B920: - ldrh r0, [r6] - strh r0, [r7] - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 - mov r1, r12 - strh r0, [r1] - mov r1, r8 - strh r0, [r1] - mov r1, r9 - strh r0, [r1] - ldr r1, _0800B984 - movs r0, 0x28 - strh r0, [r1] - mov r1, r10 - ldrb r0, [r1] - cmp r0, 0 - bne _0800B948 - bl UpdateSound -_0800B948: - movs r0, 0x1 - bl SetInterruptFlag - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800B95C: .4byte gUnknown_203B0A0 -_0800B960: .4byte gUnknown_202D5F0 -_0800B964: .4byte gUnknown_203B0AA -_0800B968: .4byte gUnknown_203B0AC -_0800B96C: .4byte gUnknown_203B0AE -_0800B970: .4byte gUnknown_203B0B0 -_0800B974: .4byte gUnknown_203B0B2 -_0800B978: .4byte gUnknown_203B099 -_0800B97C: .4byte gUnknown_202D608 -_0800B980: .4byte gUnknown_202D648 -_0800B984: .4byte 0x04000004 - thumb_func_end VBlankIntr - - thumb_func_start VCountIntr -VCountIntr: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _0800BA44 - ldrh r0, [r0] - lsls r0, 16 - asrs r6, r0, 16 - ldr r0, _0800BA48 - movs r2, 0 - ldrsh r1, [r0, r2] - adds r7, r0, 0 - cmp r1, 0 - bge _0800B9B2 - ldr r0, _0800BA4C - ldr r0, [r0, 0x8] - cmp r0, 0 - beq _0800B9AE - bl _call_via_r0 -_0800B9AE: - movs r0, 0 - strh r0, [r7] -_0800B9B2: - ldr r0, _0800BA50 - movs r3, 0 - ldrsh r2, [r7, r3] - movs r3, 0 - ldrsh r1, [r0, r3] - mov r8, r0 - cmp r2, r1 - bge _0800BA34 - ldr r1, _0800BA54 - adds r0, r2, 0 - lsls r0, 3 - adds r0, r1 - movs r3, 0x2 - ldrsh r0, [r0, r3] - cmp r0, r6 - bgt _0800BA10 - adds r5, r1, 0 - adds r4, r7, 0 -_0800B9D6: - movs r1, 0 - ldrsh r0, [r4, r1] - lsls r0, 3 - adds r1, r5, 0x4 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _0800B9EA - bl _call_via_r0 -_0800B9EA: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - ldr r1, _0800BA50 - lsls r0, 16 - asrs r0, 16 - movs r2, 0 - ldrsh r1, [r1, r2] - cmp r0, r1 - bge _0800BA34 - movs r3, 0 - ldrsh r0, [r4, r3] - lsls r0, 3 - adds r0, r5 - movs r1, 0x2 - ldrsh r0, [r0, r1] - ldr r7, _0800BA48 - cmp r0, r6 - ble _0800B9D6 -_0800BA10: - movs r2, 0 - ldrsh r1, [r7, r2] - mov r3, r8 - movs r2, 0 - ldrsh r0, [r3, r2] - cmp r1, r0 - bge _0800BA34 - ldr r2, _0800BA58 - ldr r1, _0800BA54 - movs r3, 0 - ldrsh r0, [r7, r3] - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x2] - lsls r0, 8 - movs r1, 0x28 - orrs r0, r1 - strh r0, [r2] -_0800BA34: - movs r0, 0x4 - bl SetInterruptFlag - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800BA44: .4byte 0x04000006 -_0800BA48: .4byte gUnknown_203B0AE -_0800BA4C: .4byte gUnknown_202D5F0 -_0800BA50: .4byte gUnknown_203B0AC -_0800BA54: .4byte gUnknown_202D648 -_0800BA58: .4byte 0x04000004 - thumb_func_end VCountIntr - .align 2, 0 @ Don't pad with nop. diff --git a/asm/code_800D090.s b/asm/code_800D090.s index b9463be..efc28d7 100644 --- a/asm/code_800D090.s +++ b/asm/code_800D090.s @@ -7726,7 +7726,7 @@ _08010BD0: pop {r0} bx r0 .align 2, 0 -_08010C08: .4byte gUnknown_202DF98 +_08010C08: .4byte gAvailablePokemonNames _08010C0C: .4byte gUnknown_80D4074 thumb_func_end sub_8010B74 diff --git a/asm/code_8012A18.s b/asm/code_8012A18.s index 3c4be5d..6b3198e 100644 --- a/asm/code_8012A18.s +++ b/asm/code_8012A18.s @@ -55,7 +55,7 @@ _08012C18: adds r0, 0x30 lsls r0, 24 lsrs r0, 24 - bl sub_8092288 + bl ReturnIntFromChar2 adds r4, r0, 0 bl GetCharacter movs r1, 0x6 @@ -97,7 +97,7 @@ sub_8012C60: adds r7, r3, 0 lsls r0, 24 lsrs r0, 24 - bl sub_8092288 + bl ReturnIntFromChar2 adds r4, r0, 0 bl GetCharacter adds r1, r0, 0 @@ -6745,7 +6745,7 @@ _08015F96: _08015FBC: .4byte gUnknown_203B1FC _08015FC0: ldrb r0, [r2] - bl sub_8092288 + bl ReturnIntFromChar2 bl GetCharacter ldr r3, [r7] adds r1, r3, 0 @@ -6781,7 +6781,7 @@ sub_8015FEC: adds r4, r2, 0 _08016002: ldrb r0, [r4] - bl sub_8092288 + bl ReturnIntFromChar2 bl GetCharacter movs r1, 0x6 ldrsh r0, [r0, r1] @@ -6971,7 +6971,7 @@ _08016140: bl sub_80922B4 b _08016166 .align 2, 0 -_08016158: .4byte gUnknown_202DF98 +_08016158: .4byte gAvailablePokemonNames _0801615C: ldr r0, _08016188 ldr r1, [r1, 0x8] @@ -6995,7 +6995,7 @@ _08016166: bl sub_8014248 b _080161B8 .align 2, 0 -_08016188: .4byte gUnknown_202DF98 +_08016188: .4byte gAvailablePokemonNames _0801618C: .4byte gUnknown_80DB688 _08016190: .4byte gUnknown_203B200 _08016194: @@ -7208,7 +7208,7 @@ DisplayPersianDialogueSprite: movs r1, 0x35 bl sub_808D8E0 movs r0, 0x35 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 subs r4, 0x50 adds r0, r4, 0 @@ -8428,7 +8428,7 @@ DisplayKangaskhanDialogueSprite: movs r1, 0x73 bl sub_808D8E0 movs r0, 0x73 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 subs r4, 0x50 adds r0, r4, 0 @@ -12242,7 +12242,7 @@ _08018B50: adds r1, r5, 0 bl sub_808D8E0 adds r0, r5, 0 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 subs r4, 0x50 adds r0, r4, 0 @@ -12266,7 +12266,7 @@ _08018B80: adds r1, r5, 0 bl sub_808D8E0 adds r0, r5, 0 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 subs r4, 0x50 adds r0, r4, 0 @@ -17005,7 +17005,7 @@ _0801B1D2: .align 2, 0 _0801B1F4: .4byte gUnknown_203B22C _0801B1F8: .4byte gUnknown_203B45C -_0801B1FC: .4byte gUnknown_202DF98 +_0801B1FC: .4byte gAvailablePokemonNames thumb_func_end sub_801B178 thumb_func_start sub_801B200 @@ -17423,7 +17423,7 @@ _0801B50C: pop {r0} bx r0 .align 2, 0 -_0801B514: .4byte gUnknown_202DF98 +_0801B514: .4byte gAvailablePokemonNames _0801B518: .4byte gUnknown_80DBA4C thumb_func_end sub_801B480 @@ -17622,7 +17622,7 @@ _0801B65E: bx r1 .align 2, 0 _0801B6A0: .4byte gUnknown_203B234 -_0801B6A4: .4byte gUnknown_202DF98 +_0801B6A4: .4byte gAvailablePokemonNames _0801B6A8: .4byte gUnknown_202DE58 thumb_func_end sub_801B60C @@ -19776,7 +19776,7 @@ _0801C7C4: pop {r0} bx r0 .align 2, 0 -_0801C7CC: .4byte gUnknown_202DF98 +_0801C7CC: .4byte gAvailablePokemonNames _0801C7D0: .4byte gUnknown_80DBE30 thumb_func_end sub_801C6E4 @@ -21359,7 +21359,7 @@ _0801D400: bl sub_8012D60 b _0801D4B6 .align 2, 0 -_0801D434: .4byte gUnknown_202DF98 +_0801D434: .4byte gAvailablePokemonNames _0801D438: bl sub_801D894 ldr r2, [r6] @@ -21618,7 +21618,7 @@ _0801D622: str r0, [r1, 0x14] b _0801D67A .align 2, 0 -_0801D63C: .4byte gUnknown_202DF98 +_0801D63C: .4byte gAvailablePokemonNames _0801D640: .4byte gUnknown_80DBF34 _0801D644: .4byte gUnknown_80D49A8 _0801D648: .4byte gMenuItems diff --git a/asm/code_801D760.s b/asm/code_801D760.s index fdd142e..59f446e 100644 --- a/asm/code_801D760.s +++ b/asm/code_801D760.s @@ -58,7 +58,7 @@ _0801D8B2: bl sub_8092178 lsls r0, 24 lsrs r0, 24 - bl sub_80921A8 + bl GetTeamRankString adds r4, r0, 0 bl sub_8092110 adds r3, r0, 0 @@ -2342,7 +2342,7 @@ _0801EACA: beq _0801EB68 b _0801EBB8 .align 2, 0 -_0801EAF8: .4byte gUnknown_202DF98 +_0801EAF8: .4byte gAvailablePokemonNames _0801EAFC: .4byte gUnknown_203B26C _0801EB00: ldrb r4, [r2, 0xE] @@ -3378,7 +3378,7 @@ _0801F2E0: b _0801F31A .align 2, 0 _0801F30C: .4byte gUnknown_203B270 -_0801F310: .4byte gUnknown_202DF98 +_0801F310: .4byte gAvailablePokemonNames _0801F314: .4byte gUnknown_80DC28C _0801F318: movs r0, 0x4 @@ -4302,7 +4302,7 @@ _0801FA48: pop {r0} bx r0 .align 2, 0 -_0801FA50: .4byte gUnknown_202DF98 +_0801FA50: .4byte gAvailablePokemonNames _0801FA54: .4byte gUnknown_80DC310 thumb_func_end sub_801F9A4 @@ -4465,7 +4465,7 @@ sub_801FB50: adds r1, r4, 0 bl sub_808D8E0 adds r0, r4, 0 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 adds r0, r5, 0 subs r0, 0x50 @@ -5374,7 +5374,7 @@ _08020304: ldr r2, [r2] b _0802052C .align 2, 0 -_0802033C: .4byte gUnknown_202DF98 +_0802033C: .4byte gAvailablePokemonNames _08020340: .4byte gGulpinDialogue _08020344: ldr r1, [r5] @@ -8492,7 +8492,7 @@ sub_8021B9C: movs r1, 0x28 bl sub_808D8E0 movs r0, 0x28 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 subs r4, 0x50 adds r0, r4, 0 @@ -9237,7 +9237,7 @@ _080221FA: ldr r0, [r4] movs r1, 0x12 ldrsh r0, [r0, r1] - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 ldr r0, _0802222C bl strcpy @@ -9256,7 +9256,7 @@ _080221FA: b _0802227A .align 2, 0 _08022228: .4byte gUnknown_203B290 -_0802222C: .4byte gUnknown_202DF98 +_0802222C: .4byte gAvailablePokemonNames _08022230: .4byte gUnknown_202E628 _08022234: .4byte gWigglytuffDialogue _08022238: @@ -10024,7 +10024,7 @@ sub_80227B8: b _08022856 .align 2, 0 _08022810: .4byte gUnknown_203B294 -_08022814: .4byte gUnknown_202DF98 +_08022814: .4byte gAvailablePokemonNames _08022818: movs r0, 0x11 bl sub_8022924 @@ -10046,7 +10046,7 @@ _08022820: bl sub_8022924 b _08022856 .align 2, 0 -_08022848: .4byte gUnknown_202DF98 +_08022848: .4byte gAvailablePokemonNames _0802284C: .4byte gUnknown_80DC5EC _08022850: movs r0, 0 @@ -14487,7 +14487,7 @@ _08024B74: ldr r0, [r0, 0xC] movs r1, 0x8 ldrsh r0, [r0, r1] - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 ldr r4, _08024C10 adds r0, r4, 0 @@ -14495,7 +14495,7 @@ _08024B74: ldr r0, [r5] movs r2, 0xA ldrsh r0, [r0, r2] - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 adds r4, 0x50 adds r0, r4, 0 @@ -14538,11 +14538,11 @@ _08024BD6: adds r4, 0x4C movs r1, 0x8 ldrsh r0, [r0, r1] - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 adds r0, r4, 0 movs r2, 0xA - bl sub_8092310 + bl BoundedCopyStringtoBuffer _08024C06: ldr r1, [r5] movs r0, 0x3 @@ -14550,7 +14550,7 @@ _08024C06: ldr r0, _08024C18 b _08024CAE .align 2, 0 -_08024C10: .4byte gUnknown_202DF98 +_08024C10: .4byte gAvailablePokemonNames _08024C14: .4byte 0x000001ff _08024C18: .4byte gUnknown_80DCEB0 _08024C1C: @@ -14647,11 +14647,11 @@ _08024CC8: adds r4, 0x4C movs r2, 0x8 ldrsh r0, [r0, r2] - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 adds r0, r4, 0 movs r2, 0xA - bl sub_8092310 + bl BoundedCopyStringtoBuffer _08024CE8: ldr r0, [r5] ldr r1, [r0, 0xC] @@ -15833,7 +15833,7 @@ _080255D2: ldr r2, [r2, 0x70] b _08025654 .align 2, 0 -_08025608: .4byte gUnknown_202DF98 +_08025608: .4byte gAvailablePokemonNames _0802560C: ldr r0, [r5] movs r1, 0xE @@ -17382,7 +17382,7 @@ _0802625C: b _0802633E .align 2, 0 _080262A0: .4byte gUnknown_203B2B8 -_080262A4: .4byte gUnknown_202DF98 +_080262A4: .4byte gAvailablePokemonNames _080262A8: movs r0, 0x3 bl sub_8026E08 @@ -17410,7 +17410,7 @@ _080262A8: b _080264BA .align 2, 0 _080262E4: .4byte gUnknown_203B2B8 -_080262E8: .4byte gUnknown_202DF98 +_080262E8: .4byte gAvailablePokemonNames _080262EC: ldr r0, [r4] movs r1, 0xA @@ -18851,7 +18851,7 @@ sub_8026E08: pop {r0} bx r0 .align 2, 0 -_08026E78: .4byte gUnknown_202DF98 +_08026E78: .4byte gAvailablePokemonNames _08026E7C: .4byte gUnknown_203B2B8 _08026E80: .4byte gUnknown_80DD6E0 _08026E84: .4byte gUnknown_80DD370 diff --git a/asm/code_8027C84.s b/asm/code_8027C84.s index 7c4a52b..d385681 100644 --- a/asm/code_8027C84.s +++ b/asm/code_8027C84.s @@ -426,7 +426,7 @@ sub_8027F88: adds r1, r4, 0 bl sub_808D8E0 adds r0, r4, 0 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 ldr r0, _08028064 bl strcpy @@ -487,7 +487,7 @@ _08028054: .4byte 0x0000053c _08028058: .4byte 0x00000544 _0802805C: .4byte 0x0000ffff _08028060: .4byte gUnknown_202E5D8 -_08028064: .4byte gUnknown_202DF98 +_08028064: .4byte gAvailablePokemonNames _08028068: .4byte 0x0000042c _0802806C: .4byte 0x0000042d _08028070: .4byte 0x0000042e diff --git a/asm/code_803B050.s b/asm/code_803B050.s new file mode 100644 index 0000000..a3bd8bf --- /dev/null +++ b/asm/code_803B050.s @@ -0,0 +1,2159 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_803B050 +sub_803B050: + push {r4-r7,lr} + ldr r4, _0803B0F4 + movs r0, 0xF4 + lsls r0, 2 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + movs r1, 0x3 + str r1, [r0, 0x34] + adds r1, r0, 0 + adds r1, 0x84 + str r1, [r0, 0x38] + adds r0, 0x3C + bl sub_8006518 + ldr r1, [r4] + ldr r2, [r1, 0x34] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x3C + ldr r0, _0803B0F8 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldr r0, [r4] + ldr r1, [r0, 0x38] + adds r0, 0x9C + str r0, [r1, 0x14] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r2, 0 + movs r3, 0 + movs r7, 0xCB + lsls r7, 1 + movs r6, 0x80 + lsls r6, 9 + movs r5, 0 +_0803B0AE: + ldr r0, _0803B0FC + adds r0, r5, r0 + movs r1, 0x2 + ldrsh r0, [r0, r1] + ldr r4, _0803B0F4 + cmp r0, 0xA + bne _0803B0C8 + ldr r0, [r4] + lsls r1, r2, 1 + adds r0, 0xA0 + adds r0, r1 + strh r3, [r0] + adds r2, 0x1 +_0803B0C8: + adds r0, r6, 0 + movs r3, 0x80 + lsls r3, 9 + adds r6, r3 + adds r5, 0xC + asrs r3, r0, 16 + cmp r3, r7 + ble _0803B0AE + ldr r0, [r4] + ldr r3, [r0, 0x34] + adds r1, r2, 0 + movs r2, 0xA + bl sub_8013818 + bl sub_803B204 + bl sub_803B284 + movs r0, 0x1 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0803B0F4: .4byte gUnknown_203B3FC +_0803B0F8: .4byte gUnknown_80E7F54 +_0803B0FC: .4byte gFunctionScriptTable + thumb_func_end sub_803B050 + + thumb_func_start sub_803B100 +sub_803B100: + push {lr} + adds r1, r0, 0 + lsls r1, 16 + asrs r1, 16 + ldr r0, _0803B11C + ldr r0, [r0] + bl sub_8013878 + bl sub_803B204 + bl sub_803B284 + pop {r0} + bx r0 + .align 2, 0 +_0803B11C: .4byte gUnknown_203B3FC + thumb_func_end sub_803B100 + + thumb_func_start sub_803B120 +sub_803B120: + push {r4,lr} + ldr r4, _0803B13C + ldr r0, [r4] + bl GetKeyPress + cmp r0, 0x1 + beq _0803B140 + cmp r0, 0x2 + bne _0803B144 + movs r0, 0x1 + bl sub_80119D4 + movs r0, 0x2 + b _0803B160 + .align 2, 0 +_0803B13C: .4byte gUnknown_203B3FC +_0803B140: + movs r0, 0x3 + b _0803B160 +_0803B144: + ldr r0, [r4] + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _0803B156 + movs r0, 0 + b _0803B160 +_0803B156: + bl sub_803B204 + bl sub_803B284 + movs r0, 0x1 +_0803B160: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_803B120 + + thumb_func_start sub_803B168 +sub_803B168: + ldr r0, _0803B188 + ldr r0, [r0] + movs r1, 0x1E + ldrsh r2, [r0, r1] + movs r3, 0x1C + ldrsh r1, [r0, r3] + muls r1, r2 + movs r3, 0x18 + ldrsh r2, [r0, r3] + adds r1, r2 + lsls r1, 1 + adds r0, 0xA0 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + bx lr + .align 2, 0 +_0803B188: .4byte gUnknown_203B3FC + thumb_func_end sub_803B168 + + thumb_func_start sub_803B18C +sub_803B18C: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, _0803B1B8 + ldr r0, [r5] + movs r1, 0xE5 + strh r1, [r0, 0x22] + bl sub_8013984 + bl sub_803B204 + bl sub_803B284 + cmp r4, 0 + beq _0803B1B2 + ldr r0, [r5] + bl AddMenuCursorSprite +_0803B1B2: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803B1B8: .4byte gUnknown_203B3FC + thumb_func_end sub_803B18C + + thumb_func_start sub_803B1BC +sub_803B1BC: + push {r4,r5,lr} + ldr r4, _0803B1FC + ldr r2, [r4] + cmp r2, 0 + beq _0803B1F6 + ldr r0, [r2, 0x34] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x3C + ldr r0, _0803B200 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0803B1F6: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803B1FC: .4byte gUnknown_203B3FC +_0803B200: .4byte gUnknown_80E7F3C + thumb_func_end sub_803B1BC + + thumb_func_start sub_803B204 +sub_803B204: + push {r4,lr} + ldr r4, _0803B280 + ldr r0, [r4] + adds r0, 0x9C + movs r2, 0 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0x9D + strb r2, [r0] + ldr r0, [r4] + adds r0, 0x9E + movs r1, 0x8 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0x9F + strb r2, [r0] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + movs r1, 0x1A + ldrsh r0, [r0, r1] + movs r1, 0xC + bl sub_80095E4 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x34] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x4A + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x34] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x4C + strh r3, [r2] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803B280: .4byte gUnknown_203B3FC + thumb_func_end sub_803B204 + + thumb_func_start sub_803B284 +sub_803B284: + push {r4-r6,lr} + sub sp, 0x8 + ldr r6, _0803B338 + ldr r0, [r6] + ldr r0, [r0, 0x34] + bl sub_8008C54 + ldr r0, [r6] + ldr r0, [r0, 0x34] + bl sub_80073B8 + ldr r2, _0803B33C + ldr r0, [r6] + ldr r3, [r0, 0x34] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + movs r1, 0 + bl xxx_call_draw_string + ldr r1, [r6] + adds r0, r1, 0 + adds r0, 0x9E + ldrb r4, [r0] + lsls r4, 3 + subs r4, 0x2 + movs r0, 0x1E + ldrsh r2, [r1, r0] + adds r2, 0x1 + movs r0, 0x7 + str r0, [sp] + ldr r0, [r1, 0x34] + str r0, [sp, 0x4] + adds r0, r4, 0 + movs r1, 0 + movs r3, 0x2 + bl sub_8012BC4 + movs r5, 0 + ldr r0, [r6] + movs r1, 0x1A + ldrsh r0, [r0, r1] + cmp r5, r0 + bge _0803B324 +_0803B2DC: + ldr r0, [r6] + movs r3, 0x1E + ldrsh r2, [r0, r3] + movs r3, 0x1C + ldrsh r1, [r0, r3] + muls r2, r1 + adds r2, r5 + lsls r2, 1 + adds r1, r0, 0 + adds r1, 0xA0 + adds r1, r2 + movs r2, 0 + ldrsh r1, [r1, r2] + lsls r4, r1, 1 + adds r4, r1 + lsls r4, 2 + ldr r1, _0803B340 + adds r4, r1 + adds r1, r5, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r2, [r4, 0x4] + ldr r0, [r6] + ldr r3, [r0, 0x34] + movs r0, 0 + str r0, [sp] + movs r0, 0x8 + bl xxx_call_draw_string + adds r5, 0x1 + ldr r0, [r6] + movs r3, 0x1A + ldrsh r0, [r0, r3] + cmp r5, r0 + blt _0803B2DC +_0803B324: + ldr r0, _0803B338 + ldr r0, [r0] + ldr r0, [r0, 0x34] + bl sub_80073E0 + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0803B338: .4byte gUnknown_203B3FC +_0803B33C: .4byte gUnknown_80E7F6C +_0803B340: .4byte gFunctionScriptTable + thumb_func_end sub_803B284 + + thumb_func_start sub_803B344 +sub_803B344: + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + ldr r1, _0803B358 + adds r0, r1 + bx lr + .align 2, 0 +_0803B358: .4byte gUnknown_80E7F94 + thumb_func_end sub_803B344 + + thumb_func_start sub_803B35C +sub_803B35C: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + adds r1, 0x18 + bl sub_803C21C + ldrb r0, [r5, 0x2] + subs r0, 0x1 + cmp r0, 0x8 + bls _0803B372 + b _0803B4FA +_0803B372: + lsls r0, 2 + ldr r1, _0803B37C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803B37C: .4byte _0803B380 + .align 2, 0 +_0803B380: + .4byte _0803B3A4 + .4byte _0803B3BE + .4byte _0803B3D8 + .4byte _0803B3F2 + .4byte _0803B414 + .4byte _0803B442 + .4byte _0803B470 + .4byte _0803B49E + .4byte _0803B4CC +_0803B3A4: + adds r0, r4, 0 + adds r0, 0x40 + movs r1, 0 + strb r1, [r0] + adds r0, 0x1 + strb r1, [r0] + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x6 + strb r0, [r1] + subs r1, 0x14 + movs r0, 0x5 + b _0803B576 +_0803B3BE: + adds r0, r4, 0 + adds r0, 0x40 + movs r1, 0x1 + strb r1, [r0] + adds r0, 0x1 + strb r1, [r0] + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x6 + strb r0, [r1] + subs r1, 0x14 + movs r0, 0x5 + b _0803B576 +_0803B3D8: + adds r0, r4, 0 + adds r0, 0x40 + movs r1, 0x2 + strb r1, [r0] + adds r0, 0x1 + strb r1, [r0] + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x6 + strb r0, [r1] + subs r1, 0x14 + movs r0, 0x5 + b _0803B576 +_0803B3F2: + adds r0, r4, 0 + adds r0, 0x40 + movs r1, 0x3 + strb r1, [r0] + adds r0, 0x1 + strb r1, [r0] + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x6 + strb r0, [r1] + bl sub_8096DD8 + str r0, [r4, 0x4C] + bl sub_8096DE8 + str r0, [r4, 0x50] + b _0803B578 +_0803B414: + ldrb r0, [r5, 0x1] + cmp r0, 0x3 + bne _0803B42A + adds r0, r4, 0 + adds r0, 0x40 + movs r1, 0xB + strb r1, [r0] + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x1 + b _0803B438 +_0803B42A: + adds r0, r4, 0 + adds r0, 0x40 + movs r1, 0xC + strb r1, [r0] + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x2 +_0803B438: + strb r0, [r1] + adds r1, r4, 0 + adds r1, 0x41 + movs r0, 0x4 + b _0803B576 +_0803B442: + ldrb r0, [r5, 0x1] + cmp r0, 0x3 + bne _0803B458 + adds r0, r4, 0 + adds r0, 0x40 + movs r1, 0xB + strb r1, [r0] + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x1 + b _0803B466 +_0803B458: + adds r0, r4, 0 + adds r0, 0x40 + movs r1, 0xC + strb r1, [r0] + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x2 +_0803B466: + strb r0, [r1] + adds r1, r4, 0 + adds r1, 0x41 + movs r0, 0x5 + b _0803B576 +_0803B470: + adds r0, r5, 0 + bl sub_803B600 + str r0, [r4, 0x4] + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _0803B488 + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0x9 + b _0803B48E +_0803B488: + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0x4 +_0803B48E: + strb r0, [r1] + adds r1, r4, 0 + adds r1, 0x41 + movs r0, 0x6 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x4 + b _0803B576 +_0803B49E: + adds r0, r5, 0 + bl sub_803B628 + str r0, [r4, 0x4] + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _0803B4B6 + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0x9 + b _0803B4BC +_0803B4B6: + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0x5 +_0803B4BC: + strb r0, [r1] + adds r1, r4, 0 + adds r1, 0x41 + movs r0, 0x7 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x4 + b _0803B576 +_0803B4CC: + adds r0, r5, 0 + bl sub_803B66C + str r0, [r4, 0x4] + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _0803B4E4 + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0xA + b _0803B4EA +_0803B4E4: + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0x6 +_0803B4EA: + strb r0, [r1] + adds r1, r4, 0 + adds r1, 0x41 + movs r0, 0x8 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x5 + b _0803B576 +_0803B4FA: + ldrb r0, [r5, 0x1] + cmp r0, 0x2 + beq _0803B528 + cmp r0, 0x2 + bgt _0803B50A + cmp r0, 0x1 + beq _0803B514 + b _0803B564 +_0803B50A: + cmp r0, 0x3 + beq _0803B53C + cmp r0, 0x4 + beq _0803B550 + b _0803B564 +_0803B514: + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0x9 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0xD + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x4 + b _0803B576 +_0803B528: + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0xA + strb r0, [r1] + adds r1, 0x1 + movs r0, 0xE + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x5 + b _0803B576 +_0803B53C: + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0xB + strb r0, [r1] + adds r1, 0x1 + movs r0, 0xF + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x1 + b _0803B576 +_0803B550: + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0xC + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x10 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x2 + b _0803B576 +_0803B564: + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0x8 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0xC + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x3 +_0803B576: + strb r0, [r1] +_0803B578: + adds r0, r5, 0x4 + str r0, [r4, 0x8] + movs r0, 0 + str r0, [r4, 0xC] + ldrh r0, [r5, 0xC] + movs r1, 0 + strh r0, [r4, 0x10] + ldrh r0, [r5, 0xE] + strh r0, [r4, 0x12] + ldrb r0, [r5, 0x10] + strb r0, [r4, 0x14] + ldrb r0, [r5] + subs r0, 0x2 + cmp r0, 0x7 + bhi _0803B5EC + lsls r0, 2 + ldr r1, _0803B5A0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803B5A0: .4byte _0803B5A4 + .align 2, 0 +_0803B5A4: + .4byte _0803B5C4 + .4byte _0803B5C4 + .4byte _0803B5C4 + .4byte _0803B5C4 + .4byte _0803B5DC + .4byte _0803B5CC + .4byte _0803B5DC + .4byte _0803B5DC +_0803B5C4: + adds r0, r4, 0 + adds r0, 0x43 + movs r1, 0x1 + b _0803B5F0 +_0803B5CC: + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x3 + strb r0, [r1] + b _0803B5F6 +_0803B5DC: + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0x3 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x2 + strb r0, [r1] + b _0803B5F6 +_0803B5EC: + adds r0, r4, 0 + adds r0, 0x43 +_0803B5F0: + strb r1, [r0] + adds r0, 0x1 + strb r1, [r0] +_0803B5F6: + str r5, [r4, 0x54] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_803B35C + + thumb_func_start sub_803B600 +sub_803B600: + push {lr} + ldr r2, _0803B614 + movs r1, 0 + ldr r3, [r0, 0xC] +_0803B608: + ldr r0, [r2] + cmp r0, r3 + bne _0803B618 + adds r0, r1, 0 + b _0803B624 + .align 2, 0 +_0803B614: .4byte gUnknown_80E9920 +_0803B618: + adds r2, 0x8 + adds r1, 0x1 + cmp r1, 0x14 + ble _0803B608 + movs r0, 0x1 + negs r0, r0 +_0803B624: + pop {r1} + bx r1 + thumb_func_end sub_803B600 + + thumb_func_start sub_803B628 +sub_803B628: + push {r4,r5,lr} + adds r4, r0, 0 + ldr r2, _0803B654 + movs r3, 0 +_0803B630: + ldr r1, [r2] + ldr r0, [r4, 0xC] + cmp r1, r0 + beq _0803B650 + movs r0, 0x2 + ldrsh r1, [r2, r0] + movs r5, 0xC + ldrsh r0, [r4, r5] + cmp r1, r0 + bne _0803B658 + movs r0, 0 + ldrsh r1, [r2, r0] + movs r5, 0xE + ldrsh r0, [r4, r5] + cmp r1, r0 + bne _0803B658 +_0803B650: + adds r0, r3, 0 + b _0803B664 + .align 2, 0 +_0803B654: .4byte gUnknown_80E9F8C +_0803B658: + adds r2, 0xC + adds r3, 0x1 + cmp r3, 0x2C + ble _0803B630 + movs r0, 0x1 + negs r0, r0 +_0803B664: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_803B628 + + thumb_func_start sub_803B66C +sub_803B66C: + push {r4,r5,lr} + adds r4, r0, 0 + ldr r2, _0803B698 + movs r3, 0 +_0803B674: + ldr r1, [r2] + ldr r0, [r4, 0xC] + cmp r1, r0 + beq _0803B694 + movs r0, 0x2 + ldrsh r1, [r2, r0] + movs r5, 0xC + ldrsh r0, [r4, r5] + cmp r1, r0 + bne _0803B69C + movs r0, 0 + ldrsh r1, [r2, r0] + movs r5, 0xE + ldrsh r0, [r4, r5] + cmp r1, r0 + bne _0803B69C +_0803B694: + adds r0, r3, 0 + b _0803B6A8 + .align 2, 0 +_0803B698: .4byte gUnknown_80E8168 +_0803B69C: + adds r2, 0x4 + adds r3, 0x1 + cmp r3, 0x5 + ble _0803B674 + movs r0, 0x1 + negs r0, r0 +_0803B6A8: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_803B66C + + thumb_func_start sub_803B6B0 +sub_803B6B0: + push {r4,lr} + sub sp, 0x4 + lsls r2, 24 + ldr r4, _0803B6D0 + lsrs r2, 22 + adds r2, r4 + ldr r2, [r2] + movs r4, 0 + str r4, [sp] + bl xxx_call_draw_string + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803B6D0: .4byte gUnknown_80E8B94 + thumb_func_end sub_803B6B0 + + thumb_func_start sub_803B6D4 +sub_803B6D4: + push {r4-r7,lr} + sub sp, 0x144 + adds r7, r0, 0 + ldr r1, [r7, 0x48] + adds r0, 0x43 + ldrb r2, [r0] + ldr r3, [r7] + movs r0, 0xA + bl sub_803B6B0 + adds r0, r7, 0 + adds r0, 0x40 + ldrb r0, [r0] + cmp r0, 0xC + bls _0803B6F4 + b _0803B86C +_0803B6F4: + lsls r0, 2 + ldr r1, _0803B700 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803B700: .4byte _0803B704 + .align 2, 0 +_0803B704: + .4byte _0803B73E + .4byte _0803B748 + .4byte _0803B754 + .4byte _0803B738 + .4byte _0803B7A4 + .4byte _0803B7B0 + .4byte _0803B7C8 + .4byte _0803B760 + .4byte _0803B86C + .4byte _0803B818 + .4byte _0803B7E0 + .4byte _0803B788 + .4byte _0803B76A +_0803B738: + ldr r1, [r7, 0x48] + ldr r2, [r7, 0x4C] + b _0803B7CC +_0803B73E: + ldr r1, [r7, 0x48] + ldr r2, _0803B744 + b _0803B7CC + .align 2, 0 +_0803B744: .4byte gMankeyMission +_0803B748: + ldr r1, [r7, 0x48] + ldr r2, _0803B750 + b _0803B7CC + .align 2, 0 +_0803B750: .4byte gSmeargleMission +_0803B754: + ldr r1, [r7, 0x48] + ldr r2, _0803B75C + b _0803B7CC + .align 2, 0 +_0803B75C: .4byte gMedichamMission +_0803B760: + ldr r1, [r7, 0x8] + add r0, sp, 0x4 + bl sub_8090208 + b _0803B850 +_0803B76A: + ldr r4, _0803B780 + ldrb r1, [r7, 0x14] + adds r0, r4, 0 + movs r2, 0 + bl sub_8090DC4 + ldr r1, _0803B784 + add r0, sp, 0x4 + adds r2, r4, 0 + b _0803B84C + .align 2, 0 +_0803B780: .4byte gUnknown_202DE58 +_0803B784: .4byte gUnknown_80E8830 +_0803B788: + ldr r4, _0803B79C + ldrb r1, [r7, 0x14] + adds r0, r4, 0 + movs r2, 0 + bl sub_8090DC4 + ldr r1, _0803B7A0 + add r0, sp, 0x4 + adds r2, r4, 0 + b _0803B84C + .align 2, 0 +_0803B79C: .4byte gUnknown_202DE58 +_0803B7A0: .4byte gUnknown_80E8848 +_0803B7A4: + ldr r1, [r7, 0x48] + ldr r2, _0803B7AC + b _0803B7CC + .align 2, 0 +_0803B7AC: .4byte gUnknown_80E885C +_0803B7B0: + ldr r1, [r7, 0x48] + ldr r3, _0803B7C4 + ldr r2, [r7, 0x4] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 2 + adds r3, 0x4 + adds r0, r3 + ldr r2, [r0] + b _0803B7CC + .align 2, 0 +_0803B7C4: .4byte gUnknown_80E9F8C +_0803B7C8: + ldr r1, [r7, 0x48] + ldr r2, _0803B7DC +_0803B7CC: + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x15 + bl xxx_call_draw_string + b _0803B8B4 + .align 2, 0 +_0803B7DC: .4byte gUnknown_80E886C +_0803B7E0: + ldr r0, [r7, 0x8] + ldr r4, [r0, 0x4] + ldrb r0, [r0] + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl GetMonSpecies + adds r1, r0, 0 + ldr r5, _0803B810 + adds r0, r5, 0 + bl strcpy + ldr r1, _0803B814 + movs r0, 0x3 + ands r4, r0 + lsls r4, 2 + adds r4, r1 + ldr r1, [r4] + add r0, sp, 0x4 + adds r2, r5, 0 + b _0803B84C + .align 2, 0 +_0803B810: .4byte gAvailablePokemonNames +_0803B814: .4byte gUnknown_80EAE5C +_0803B818: + ldr r0, [r7, 0x8] + ldr r4, [r0, 0x4] + ldrb r0, [r0] + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl GetMonSpecies + adds r1, r0, 0 + ldr r6, _0803B864 + adds r0, r6, 0 + bl strcpy + ldr r5, _0803B868 + adds r0, r4, 0 + movs r1, 0xA + bl __umodsi3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r5 + ldr r1, [r0] + add r0, sp, 0x4 + adds r2, r6, 0 +_0803B84C: + bl sub_800D158 +_0803B850: + ldr r1, [r7, 0x48] + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x15 + add r2, sp, 0x4 + bl xxx_call_draw_string + b _0803B8B4 + .align 2, 0 +_0803B864: .4byte gAvailablePokemonNames +_0803B868: .4byte gUnknown_80E910C +_0803B86C: + ldr r0, [r7, 0x8] + ldr r4, [r0, 0x4] + ldrb r0, [r0] + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl GetMonSpecies + adds r1, r0, 0 + ldr r6, _0803B8E8 + adds r0, r6, 0 + bl strcpy + ldr r5, _0803B8EC + adds r0, r4, 0 + movs r1, 0xF + bl __umodsi3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r5 + ldr r1, [r0] + add r0, sp, 0x4 + adds r2, r6, 0 + bl sub_800D158 + ldr r1, [r7, 0x48] + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x15 + add r2, sp, 0x4 + bl xxx_call_draw_string +_0803B8B4: + adds r0, r7, 0 + adds r0, 0x40 + ldrb r1, [r0] + adds r6, r0, 0 + cmp r1, 0x7 + bne _0803B916 + ldr r5, [r7, 0xC] + cmp r5, 0 + bne _0803B8F0 + bl sub_8016028 + movs r4, 0xB2 + subs r4, r0 + movs r1, 0x10 + ldrsh r0, [r7, r1] + bl GetMonSpecies + adds r2, r0, 0 + ldr r1, [r7, 0x48] + ldr r3, [r7] + str r5, [sp] + adds r0, r4, 0 + bl xxx_call_draw_string + b _0803B956 + .align 2, 0 +_0803B8E8: .4byte gAvailablePokemonNames +_0803B8EC: .4byte gUnknown_80E8C98 +_0803B8F0: + add r4, sp, 0xCC + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0xA + bl sub_80922B4 + bl sub_8016028 + adds r1, r0, 0 + movs r0, 0xB2 + subs r0, r1 + ldr r1, [r7, 0x48] + ldr r3, [r7] + movs r2, 0 + str r2, [sp] + adds r2, r4, 0 + bl xxx_call_draw_string + b _0803B956 +_0803B916: + adds r0, r7, 0 + adds r0, 0x42 + ldrb r0, [r0] + cmp r0, 0x1 + bne _0803B93C + add r4, sp, 0xE0 + ldr r1, [r7, 0x8] + adds r0, r4, 0 + bl sub_8090228 + ldr r1, _0803B938 + add r0, sp, 0x4 + adds r2, r4, 0 + bl sub_800D158 + b _0803B944 + .align 2, 0 +_0803B938: .4byte gUnknown_80E8884 +_0803B93C: + ldr r1, [r7, 0x8] + add r0, sp, 0x4 + bl sub_8090228 +_0803B944: + ldr r1, [r7, 0x48] + adds r1, 0xC + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x1D + add r2, sp, 0x4 + bl xxx_call_draw_string +_0803B956: + ldrb r0, [r6] + cmp r0, 0x7 + bne _0803B962 + ldr r0, [r7, 0x8] + movs r1, 0 + b _0803B968 +_0803B962: + ldr r0, [r7, 0x8] + ldr r1, [r7, 0x54] + ldrb r1, [r1, 0x1] +_0803B968: + bl sub_803C1D0 + lsls r0, 24 + lsrs r0, 24 + bl sub_803C1F0 + adds r2, r0, 0 + ldr r1, [r7, 0x48] + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0xB4 + bl xxx_call_draw_string + add sp, 0x144 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_803B6D4 + + thumb_func_start sub_803B98C +sub_803B98C: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x1FC + adds r7, r0, 0 + movs r0, 0 + mov r9, r0 + ldr r2, _0803B9E0 + ldr r3, [r7] + str r0, [sp] + movs r0, 0xA + movs r1, 0 + bl xxx_call_draw_string + ldr r1, _0803B9E4 + adds r0, r7, 0 + adds r0, 0x44 + ldrb r0, [r0] + lsls r0, 2 + adds r0, r1 + ldr r2, [r0] + ldr r3, [r7] + mov r1, r9 + str r1, [sp] + movs r0, 0x6C + movs r1, 0 + bl xxx_call_draw_string + movs r0, 0x10 + mov r9, r0 + adds r0, r7, 0 + adds r0, 0x41 + ldrb r0, [r0] + cmp r0, 0x10 + bls _0803B9D6 + b _0803BCC0 +_0803B9D6: + lsls r0, 2 + ldr r1, _0803B9E8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803B9E0: .4byte gUnknown_80E888C +_0803B9E4: .4byte gUnknown_80E8BCC +_0803B9E8: .4byte _0803B9EC + .align 2, 0 +_0803B9EC: + .4byte _0803BA34 + .4byte _0803BA3C + .4byte _0803BA44 + .4byte _0803BA30 + .4byte _0803BA4C + .4byte _0803BA6C + .4byte _0803BA8C + .4byte _0803BAA0 + .4byte _0803BBF0 + .4byte _0803BAE8 + .4byte _0803BAF0 + .4byte _0803BAF8 + .4byte _0803BCC0 + .4byte _0803BC58 + .4byte _0803BB74 + .4byte _0803BB10 + .4byte _0803BB10 +_0803BA30: + ldr r2, [r7, 0x50] + b _0803BAFA +_0803BA34: + ldr r2, _0803BA38 + b _0803BAFA + .align 2, 0 +_0803BA38: .4byte gUnknown_80E88A0 +_0803BA3C: + ldr r2, _0803BA40 + b _0803BAFA + .align 2, 0 +_0803BA40: .4byte gUnknown_80E88C8 +_0803BA44: + ldr r2, _0803BA48 + b _0803BAFA + .align 2, 0 +_0803BA48: .4byte gUnknown_80E8920 +_0803BA4C: + ldr r4, _0803BA64 + ldrb r1, [r7, 0x14] + adds r0, r4, 0 + movs r2, 0 + bl sub_8090DC4 + ldr r1, _0803BA68 + add r0, sp, 0x4 + adds r2, r4, 0 + bl sub_800D158 + b _0803BACC + .align 2, 0 +_0803BA64: .4byte gUnknown_202DE58 +_0803BA68: .4byte gUnknown_80E8968 +_0803BA6C: + ldr r4, _0803BA84 + ldrb r1, [r7, 0x14] + adds r0, r4, 0 + movs r2, 0 + bl sub_8090DC4 + ldr r1, _0803BA88 + add r0, sp, 0x4 + adds r2, r4, 0 + bl sub_800D158 + b _0803BACC + .align 2, 0 +_0803BA84: .4byte gUnknown_202DE58 +_0803BA88: .4byte gUnknown_80E89B0 +_0803BA8C: + ldr r1, _0803BA9C + ldr r0, [r7, 0x4] + lsls r0, 3 + adds r1, 0x4 + adds r0, r1 + ldr r2, [r0] + b _0803BAFA + .align 2, 0 +_0803BA9C: .4byte gUnknown_80E9920 +_0803BAA0: + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl GetMonSpecies + adds r1, r0, 0 + ldr r4, _0803BAE0 + adds r0, r4, 0 + bl strcpy + ldr r2, _0803BAE4 + ldr r1, [r7, 0x4] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r2, 0x8 + adds r0, r2 + ldr r1, [r0] + add r0, sp, 0x4 + adds r2, r4, 0 + adds r3, r4, 0 + bl sub_800D158 +_0803BACC: + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + b _0803BD42 + .align 2, 0 +_0803BAE0: .4byte gAvailablePokemonNames +_0803BAE4: .4byte gUnknown_80E9F8C +_0803BAE8: + ldr r2, _0803BAEC + b _0803BAFA + .align 2, 0 +_0803BAEC: .4byte gUnknown_80E89FC +_0803BAF0: + ldr r2, _0803BAF4 + b _0803BAFA + .align 2, 0 +_0803BAF4: .4byte gUnknown_80E8A40 +_0803BAF8: + ldr r2, _0803BB0C +_0803BAFA: + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + mov r1, r9 + bl xxx_call_draw_string + b _0803BD42 + .align 2, 0 +_0803BB0C: .4byte gUnknown_80E8A7C +_0803BB10: + ldr r0, [r7, 0x8] + ldr r5, [r0, 0x4] + ldrb r4, [r0] + adds r4, r5, r4 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r0, 0x1] + adds r5, r0 + lsls r5, 24 + lsrs r5, 24 + ldr r0, _0803BB68 + mov r8, r0 + ldrb r1, [r7, 0x14] + movs r2, 0 + bl sub_8090DC4 + ldr r6, _0803BB6C + adds r0, r4, 0 + movs r1, 0x16 + bl __umodsi3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r6 + ldr r1, [r0] + add r0, sp, 0x4 + mov r2, r8 + bl sub_800D158 + ldr r3, [r7] + movs r6, 0 + str r6, [sp] + movs r0, 0xA + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + movs r1, 0xC + add r9, r1 + ldr r4, _0803BB70 + adds r0, r5, 0 + movs r1, 0x16 + b _0803BD1A + .align 2, 0 +_0803BB68: .4byte gUnknown_202DE58 +_0803BB6C: .4byte gUnknown_80EB3F8 +_0803BB70: .4byte gUnknown_80EB72C +_0803BB74: + ldr r0, [r7, 0x8] + ldr r5, [r0, 0x4] + ldrb r4, [r0] + adds r4, r5, r4 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r0, 0x1] + adds r5, r0 + lsls r5, 24 + lsrs r5, 24 + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl GetMonSpecies + adds r1, r0, 0 + ldr r0, _0803BBE4 + mov r8, r0 + bl strcpy + ldr r6, _0803BBE8 + adds r0, r4, 0 + movs r1, 0x14 + bl __umodsi3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r6 + ldr r1, [r0] + add r0, sp, 0x4 + mov r2, r8 + bl sub_800D158 + ldr r3, [r7] + movs r4, 0 + str r4, [sp] + movs r0, 0xA + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + movs r1, 0xC + add r9, r1 + ldr r1, _0803BBEC + movs r0, 0x3 + ands r5, r0 + lsls r5, 2 + adds r5, r1 + ldr r1, [r5] + add r0, sp, 0x4 + mov r2, r8 + bl sub_800D158 + ldr r3, [r7] + str r4, [sp] + b _0803BD32 + .align 2, 0 +_0803BBE4: .4byte gAvailablePokemonNames +_0803BBE8: .4byte gUnknown_80EAEB8 +_0803BBEC: .4byte gUnknown_80EB198 +_0803BBF0: + ldr r0, [r7, 0x8] + ldr r5, [r0, 0x4] + ldrb r4, [r0] + adds r4, r5, r4 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r0, 0x1] + adds r5, r0 + lsls r5, 24 + lsrs r5, 24 + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl GetMonSpecies + adds r1, r0, 0 + ldr r0, _0803BC4C + mov r8, r0 + bl strcpy + ldr r6, _0803BC50 + adds r0, r4, 0 + movs r1, 0x6 + bl __umodsi3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r6 + ldr r1, [r0] + add r0, sp, 0x4 + mov r2, r8 + bl sub_800D158 + ldr r3, [r7] + movs r6, 0 + str r6, [sp] + movs r0, 0xA + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + movs r1, 0xC + add r9, r1 + ldr r4, _0803BC54 + adds r0, r5, 0 + movs r1, 0x6 + b _0803BD1A + .align 2, 0 +_0803BC4C: .4byte gAvailablePokemonNames +_0803BC50: .4byte gUnknown_80EB220 +_0803BC54: .4byte gUnknown_80EB2F0 +_0803BC58: + ldr r0, [r7, 0x8] + ldr r5, [r0, 0x4] + ldrb r4, [r0] + adds r4, r5, r4 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r0, 0x1] + adds r5, r0 + lsls r5, 24 + lsrs r5, 24 + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl GetMonSpecies + adds r1, r0, 0 + ldr r0, _0803BCB4 + mov r8, r0 + bl strcpy + ldr r6, _0803BCB8 + adds r0, r4, 0 + movs r1, 0x2D + bl __umodsi3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r6 + ldr r1, [r0] + add r0, sp, 0x4 + mov r2, r8 + bl sub_800D158 + ldr r3, [r7] + movs r6, 0 + str r6, [sp] + movs r0, 0xA + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + movs r1, 0xC + add r9, r1 + ldr r4, _0803BCBC + adds r0, r5, 0 + movs r1, 0xA + b _0803BD1A + .align 2, 0 +_0803BCB4: .4byte gAvailablePokemonNames +_0803BCB8: .4byte gUnknown_80E91D4 +_0803BCBC: .4byte gUnknown_80E9820 +_0803BCC0: + ldr r0, [r7, 0x8] + ldr r5, [r0, 0x4] + ldrb r4, [r0] + adds r4, r5, r4 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r0, 0x1] + adds r5, r0 + lsls r5, 24 + lsrs r5, 24 + movs r1, 0x10 + ldrsh r0, [r7, r1] + bl GetMonSpecies + adds r1, r0, 0 + ldr r0, _0803BD78 + mov r8, r0 + bl strcpy + ldr r6, _0803BD7C + adds r0, r4, 0 + movs r1, 0xD + bl __umodsi3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r6 + ldr r1, [r0] + add r0, sp, 0x4 + mov r2, r8 + bl sub_800D158 + ldr r3, [r7] + movs r6, 0 + str r6, [sp] + movs r0, 0xA + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + movs r1, 0xC + add r9, r1 + ldr r4, _0803BD80 + adds r0, r5, 0 + movs r1, 0xD +_0803BD1A: + bl __umodsi3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r4 + ldr r1, [r0] + add r0, sp, 0x4 + mov r2, r8 + bl sub_800D158 + ldr r3, [r7] + str r6, [sp] +_0803BD32: + movs r0, 0xA + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + movs r0, 0xC + negs r0, r0 + add r9, r0 +_0803BD42: + movs r1, 0x1C + add r9, r1 + ldr r2, _0803BD84 + ldr r3, [r7] + movs r0, 0 + mov r8, r0 + str r0, [sp] + movs r0, 0xA + mov r1, r9 + bl xxx_call_draw_string + ldr r1, [r7, 0xC] + cmp r1, 0 + bne _0803BD88 + movs r1, 0x10 + ldrsh r0, [r7, r1] + bl GetMonSpecies + adds r2, r0, 0 + ldr r3, [r7] + mov r0, r8 + str r0, [sp] + movs r0, 0x44 + mov r1, r9 + bl xxx_call_draw_string + b _0803BDBC + .align 2, 0 +_0803BD78: .4byte gAvailablePokemonNames +_0803BD7C: .4byte gUnknown_80E8DE4 +_0803BD80: .4byte gUnknown_80E8FB0 +_0803BD84: .4byte gUnknown_80E8AC8 +_0803BD88: + add r6, sp, 0x158 + adds r0, r6, 0 + movs r2, 0xA + bl sub_80922B4 + add r4, sp, 0x16C + movs r0, 0x10 + ldrsh r1, [r7, r0] + adds r0, r4, 0 + bl sub_808D930 + add r5, sp, 0x130 + ldr r1, _0803BDE8 + adds r0, r5, 0 + adds r2, r6, 0 + adds r3, r4, 0 + bl sub_800D158 + ldr r3, [r7] + mov r1, r8 + str r1, [sp] + movs r0, 0x44 + mov r1, r9 + adds r2, r5, 0 + bl xxx_call_draw_string +_0803BDBC: + movs r0, 0xC + add r9, r0 + ldr r2, _0803BDEC + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + mov r1, r9 + bl xxx_call_draw_string + adds r0, r7, 0 + adds r0, 0x42 + ldrb r1, [r0] + adds r5, r0, 0 + cmp r1, 0x6 + bhi _0803BEB8 + lsls r0, r1, 2 + ldr r1, _0803BDF0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803BDE8: .4byte gUnknown_80E8AD0 +_0803BDEC: .4byte gUnknown_80E8AE0 +_0803BDF0: .4byte _0803BDF4 + .align 2, 0 +_0803BDF4: + .4byte _0803BE10 + .4byte _0803BE30 + .4byte _0803BE18 + .4byte _0803BE48 + .4byte _0803BE80 + .4byte _0803BE60 + .4byte _0803BEB8 +_0803BE10: + ldr r2, _0803BE14 + b _0803BE4A + .align 2, 0 +_0803BE14: .4byte gUnknown_80E8AEC +_0803BE18: + ldr r4, _0803BE28 + ldrb r1, [r7, 0x14] + adds r0, r4, 0 + movs r2, 0 + bl sub_8090DC4 + ldr r1, _0803BE2C + b _0803BE94 + .align 2, 0 +_0803BE28: .4byte gUnknown_202DE58 +_0803BE2C: .4byte gUnknown_80E8AFC +_0803BE30: + ldr r4, _0803BE40 + ldrb r1, [r7, 0x14] + adds r0, r4, 0 + movs r2, 0 + bl sub_8090DC4 + ldr r1, _0803BE44 + b _0803BE94 + .align 2, 0 +_0803BE40: .4byte gUnknown_202DE58 +_0803BE44: .4byte gUnknown_80E8B10 +_0803BE48: + ldr r2, _0803BE5C +_0803BE4A: + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x44 + mov r1, r9 + bl xxx_call_draw_string + b _0803BEC8 + .align 2, 0 +_0803BE5C: .4byte gUnknown_80E8B20 +_0803BE60: + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl GetMonSpecies + adds r1, r0, 0 + ldr r4, _0803BE78 + adds r0, r4, 0 + bl strcpy + ldr r1, _0803BE7C + b _0803BE94 + .align 2, 0 +_0803BE78: .4byte gAvailablePokemonNames +_0803BE7C: .4byte gUnknown_80E8B2C +_0803BE80: + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl GetMonSpecies + adds r1, r0, 0 + ldr r4, _0803BEB0 + adds r0, r4, 0 + bl strcpy + ldr r1, _0803BEB4 +_0803BE94: + add r0, sp, 0x4 + adds r2, r4, 0 + bl sub_800D158 + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x44 + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + b _0803BEC8 + .align 2, 0 +_0803BEB0: .4byte gAvailablePokemonNames +_0803BEB4: .4byte gUnknown_80E8B40 +_0803BEB8: + ldr r2, _0803BEF8 + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x44 + mov r1, r9 + bl xxx_call_draw_string +_0803BEC8: + movs r0, 0xC + add r9, r0 + ldr r2, _0803BEFC + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + mov r1, r9 + bl xxx_call_draw_string + ldrb r0, [r5] + cmp r0, 0x1 + bne _0803BF04 + add r4, sp, 0x180 + ldr r1, [r7, 0x8] + adds r0, r4, 0 + bl sub_8090228 + ldr r1, _0803BF00 + add r0, sp, 0x4 + adds r2, r4, 0 + bl sub_800D158 + b _0803BF0C + .align 2, 0 +_0803BEF8: .4byte gSpecialMissionText +_0803BEFC: .4byte gPlaceText +_0803BF00: .4byte gUnknown_80E8884 +_0803BF04: + ldr r1, [r7, 0x8] + add r0, sp, 0x4 + bl sub_8090228 +_0803BF0C: + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x44 + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + ldrb r0, [r5] + cmp r0, 0 + bne _0803BF28 + ldr r0, [r7, 0x8] + movs r1, 0 + b _0803BF2E +_0803BF28: + ldr r0, [r7, 0x8] + ldr r1, [r7, 0x54] + ldrb r1, [r1, 0x1] +_0803BF2E: + bl sub_803C1D0 + lsls r0, 24 + lsrs r4, r0, 24 + movs r1, 0xC + add r9, r1 + ldr r2, _0803BF88 + ldr r3, [r7] + movs r6, 0 + str r6, [sp] + movs r0, 0xA + mov r1, r9 + bl xxx_call_draw_string + adds r0, r4, 0 + bl sub_803C1F0 + adds r2, r0, 0 + ldr r3, [r7] + str r6, [sp] + movs r0, 0x44 + mov r1, r9 + bl xxx_call_draw_string + movs r0, 0xC + add r9, r0 + ldr r2, _0803BF8C + ldr r3, [r7] + str r6, [sp] + movs r0, 0xA + mov r1, r9 + bl xxx_call_draw_string + adds r0, r7, 0 + adds r0, 0x2E + ldrb r2, [r0] + adds r5, r0, 0 + cmp r2, 0x4 + bhi _0803C02C + lsls r0, r2, 2 + ldr r1, _0803BF90 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803BF88: .4byte gDifficultyText +_0803BF8C: .4byte gRewardText +_0803BF90: .4byte _0803BF94 + .align 2, 0 +_0803BF94: + .4byte _0803BFA8 + .4byte _0803BFBC + .4byte _0803BFD0 + .4byte _0803BFD0 + .4byte _0803C00C +_0803BFA8: + ldr r1, _0803BFB8 + ldrb r0, [r5] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + ldr r2, [r7, 0x30] + add r0, sp, 0x4 + b _0803BFEE + .align 2, 0 +_0803BFB8: .4byte gUnknown_80E8C48 +_0803BFBC: + ldr r1, _0803BFCC + ldrb r0, [r5] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + ldr r2, [r7, 0x30] + add r0, sp, 0x4 + b _0803BFEE + .align 2, 0 +_0803BFCC: .4byte gUnknown_80E8C48 +_0803BFD0: + ldr r4, _0803C004 + adds r0, r7, 0 + adds r0, 0x34 + ldrb r1, [r0] + adds r0, r4, 0 + movs r2, 0 + bl sub_8090DC4 + ldr r1, _0803C008 + ldrb r0, [r5] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + add r0, sp, 0x4 + adds r2, r4, 0 +_0803BFEE: + bl sub_800D158 + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x44 + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + b _0803C040 + .align 2, 0 +_0803C004: .4byte gUnknown_202DE58 +_0803C008: .4byte gUnknown_80E8C48 +_0803C00C: + ldr r1, _0803C028 + ldrb r0, [r5] + lsls r0, 2 + adds r0, r1 + ldr r2, [r0] + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x44 + mov r1, r9 + bl xxx_call_draw_string + b _0803C040 + .align 2, 0 +_0803C028: .4byte gUnknown_80E8C48 +_0803C02C: + ldr r1, _0803C0D4 + lsls r0, r2, 2 + adds r0, r1 + ldr r2, [r0] + ldr r3, [r7] + str r6, [sp] + movs r0, 0x44 + mov r1, r9 + bl xxx_call_draw_string +_0803C040: + movs r1, 0xC + add r9, r1 + adds r0, r7, 0 + adds r0, 0x41 + ldrb r1, [r0] + adds r0, r1, 0 + subs r0, 0x9 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bls _0803C0C6 + cmp r1, 0x3 + beq _0803C0C6 + ldr r0, [r7, 0x54] + ldrb r0, [r0] + cmp r0, 0x5 + bne _0803C0C6 + ldr r2, _0803C0D8 + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + mov r1, r9 + bl xxx_call_draw_string + add r0, sp, 0x1E4 + ldr r1, [r7, 0x54] + bl sub_803D414 + movs r4, 0 +_0803C07C: + cmp r4, 0xC + bne _0803C084 + movs r0, 0xC + add r9, r0 +_0803C084: + movs r5, 0x7 + cmp r4, 0x3 + ble _0803C09C + movs r5, 0x6 + cmp r4, 0x7 + ble _0803C09C + movs r5, 0x7 + cmp r4, 0xF + ble _0803C09C + cmp r4, 0x13 + bgt _0803C09C + movs r5, 0x6 +_0803C09C: + adds r0, r4, 0 + movs r1, 0xC + bl __modsi3 + adds r1, r0, 0 + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 1 + adds r0, 0x54 + add r1, sp, 0x1E4 + adds r1, r4 + ldrb r2, [r1] + ldr r1, [r7] + str r1, [sp] + mov r1, r9 + adds r3, r5, 0 + bl sub_8012C60 + adds r4, 0x1 + cmp r4, 0x17 + ble _0803C07C +_0803C0C6: + add sp, 0x1FC + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803C0D4: .4byte gUnknown_80E8C48 +_0803C0D8: .4byte gUnknown_80E8B7C + thumb_func_end sub_803B98C + + thumb_func_start sub_803C0DC +sub_803C0DC: + push {lr} + lsls r0, 16 + asrs r0, 16 + bl sub_808E770 + lsls r0, 16 + asrs r2, r0, 16 + ldr r1, _0803C0F0 + b _0803C102 + .align 2, 0 +_0803C0F0: .4byte gUnknown_80E80E0 +_0803C0F4: + movs r3, 0 + ldrsh r0, [r1, r3] + cmp r0, r2 + bne _0803C100 + movs r0, 0 + b _0803C10C +_0803C100: + adds r1, 0x2 +_0803C102: + movs r3, 0 + ldrsh r0, [r1, r3] + cmp r0, 0 + bne _0803C0F4 + movs r0, 0x1 +_0803C10C: + pop {r1} + bx r1 + thumb_func_end sub_803C0DC + + thumb_func_start sub_803C110 +sub_803C110: + push {r4,lr} + lsls r0, 16 + asrs r4, r0, 16 + adds r0, r4, 0 + bl sub_8098134 + lsls r0, 24 + cmp r0, 0 + beq _0803C180 + adds r0, r4, 0 + bl sub_808E770 + lsls r0, 16 + asrs r0, 16 + cmp r4, r0 + bne _0803C180 + adds r0, r4, 0 + bl sub_803C0DC + lsls r0, 24 + cmp r0, 0 + beq _0803C180 + movs r0, 0x6 + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + bne _0803C188 + ldr r1, _0803C184 + movs r2, 0 + ldrsh r0, [r1, r2] + cmp r0, 0 + beq _0803C168 + adds r2, r1, 0 +_0803C154: + movs r3, 0 + ldrsh r0, [r2, r3] + cmp r0, r4 + beq _0803C180 + adds r1, 0x2 + adds r2, 0x2 + movs r3, 0 + ldrsh r0, [r1, r3] + cmp r0, 0 + bne _0803C154 +_0803C168: + bl sub_808D33C + movs r1, 0x8 + ldrsh r0, [r0, r1] + cmp r0, r4 + beq _0803C180 + bl sub_808D378 + movs r2, 0x8 + ldrsh r0, [r0, r2] + cmp r0, r4 + bne _0803C188 +_0803C180: + movs r0, 0 + b _0803C18A + .align 2, 0 +_0803C184: .4byte gUnknown_80E8126 +_0803C188: + movs r0, 0x1 +_0803C18A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_803C110 + + .align 2,0 diff --git a/asm/code_8041AD0.s b/asm/code_8041AD0.s index 15ac13b..b5e37a1 100644 --- a/asm/code_8041AD0.s +++ b/asm/code_8041AD0.s @@ -735,7 +735,7 @@ _080427FA: .align 2, 0 _08042808: .4byte gUnknown_203B418 _0804280C: .4byte 0x000135cc -_08042810: .4byte gUnknown_202DF98 +_08042810: .4byte gAvailablePokemonNames _08042814: .4byte gPtrFeralFoundItemMessage thumb_func_end sub_80427AC diff --git a/asm/code_80428A0.s b/asm/code_80428A0.s index 6c37244..460780b 100644 --- a/asm/code_80428A0.s +++ b/asm/code_80428A0.s @@ -2496,7 +2496,7 @@ _08043F20: b _08043FAC .align 2, 0 _08043F2C: .4byte gUnknown_203B418 -_08043F30: .4byte gUnknown_202DF98 +_08043F30: .4byte gAvailablePokemonNames _08043F34: .4byte 0x000005f4 _08043F38: .4byte gUnknown_80F89B4 _08043F3C: .4byte 0x0000021f @@ -2519,7 +2519,7 @@ _08043F40: ldr r0, _08043F70 b _08043F9A .align 2, 0 -_08043F68: .4byte gUnknown_202DF98 +_08043F68: .4byte gAvailablePokemonNames _08043F6C: .4byte 0x000005f4 _08043F70: .4byte gUnknown_80F89D4 _08043F74: @@ -2560,7 +2560,7 @@ _08043FB8: pop {r1} bx r1 .align 2, 0 -_08043FC0: .4byte gUnknown_202DF98 +_08043FC0: .4byte gAvailablePokemonNames _08043FC4: .4byte 0x000005f4 _08043FC8: .4byte gUnknown_80F89D8 _08043FCC: .4byte 0x00000222 @@ -6627,7 +6627,7 @@ _08045E1E: b _08046048 .align 2, 0 _08045E34: .4byte gUnknown_202DE58 -_08045E38: .4byte gUnknown_202DF98 +_08045E38: .4byte gAvailablePokemonNames _08045E3C: .4byte gUnknown_80F8F88 _08045E40: ldrb r0, [r5, 0x2] @@ -6897,7 +6897,7 @@ _08046048: b _080460E0 .align 2, 0 _08046054: .4byte gUnknown_202DE58 -_08046058: .4byte gUnknown_202DF98 +_08046058: .4byte gAvailablePokemonNames _0804605C: .4byte gUnknown_80F8F54 _08046060: movs r0, 0xA5 @@ -6939,7 +6939,7 @@ _080460AC: bl sub_80522A8 b _080460DA .align 2, 0 -_080460B8: .4byte gUnknown_202DF98 +_080460B8: .4byte gAvailablePokemonNames _080460BC: .4byte gUnknown_80F8FAC _080460C0: ldr r0, _080460F0 @@ -8755,7 +8755,7 @@ _08046EE4: .4byte gUnknown_203B418 _08046EE8: .4byte 0x0001356c _08046EEC: .4byte gUnknown_810531C _08046EF0: .4byte gUnknown_8105360 -_08046EF4: .4byte gUnknown_202DF98 +_08046EF4: .4byte gAvailablePokemonNames _08046EF8: .4byte gUnknown_81053A8 _08046EFC: .4byte gUnknown_8105434 thumb_func_end sub_8046D8C @@ -9516,7 +9516,7 @@ _080474A6: _080474B8: .4byte 0x00000195 _080474BC: .4byte gUnknown_203B418 _080474C0: .4byte 0x0001c05e -_080474C4: .4byte gUnknown_202DF98 +_080474C4: .4byte gAvailablePokemonNames _080474C8: .4byte gUnknown_202DE58 _080474CC: .4byte gUnknown_80F94C4 _080474D0: @@ -9548,7 +9548,7 @@ _080474E2: bl sub_80522F4 b _08047524 .align 2, 0 -_0804750C: .4byte gUnknown_202DF98 +_0804750C: .4byte gAvailablePokemonNames _08047510: .4byte gUnknown_202DE58 _08047514: .4byte gUnknown_80F94D8 _08047518: @@ -10023,7 +10023,7 @@ _080478B8: .align 2, 0 _080478CC: .4byte 0xffffff00 _080478D0: .4byte gUnknown_202DE58 -_080478D4: .4byte gUnknown_202DF98 +_080478D4: .4byte gAvailablePokemonNames _080478D8: .4byte gUnknown_80F94C4 _080478DC: cmp r7, 0 @@ -10257,7 +10257,7 @@ _08047A76: .align 2, 0 _08047AAC: .4byte 0x0000014d _08047AB0: .4byte gUnknown_202DE58 -_08047AB4: .4byte gUnknown_202DF98 +_08047AB4: .4byte gAvailablePokemonNames _08047AB8: .4byte gUnknown_80FDBB8 _08047ABC: cmp r6, 0 diff --git a/asm/code_8048480.s b/asm/code_8048480.s index 9ba81c8..cad3483 100644 --- a/asm/code_8048480.s +++ b/asm/code_8048480.s @@ -35,7 +35,7 @@ _08048542: ldr r0, _08048564 b _08048586 .align 2, 0 -_08048560: .4byte gUnknown_202DF98 +_08048560: .4byte gAvailablePokemonNames _08048564: .4byte gPtrSelfHealPreventedHungerMessage _08048568: movs r0, 0x9E @@ -1111,7 +1111,7 @@ _08048D9A: movs r0, 0 b _08048DB2 .align 2, 0 -_08048DA8: .4byte gUnknown_202DF98 +_08048DA8: .4byte gAvailablePokemonNames _08048DAC: .4byte gUnknown_80FDCA4 _08048DB0: movs r0, 0x1 diff --git a/asm/code_80521D0.s b/asm/code_80521D0.s index 8e2fd1b..80c95b8 100644 --- a/asm/code_80521D0.s +++ b/asm/code_80521D0.s @@ -723,7 +723,7 @@ sub_8052910: .align 2, 0 _08052950: .4byte gUnknown_203B45C _08052954: .4byte 0x00008df8 -_08052958: .4byte gUnknown_202DF98 +_08052958: .4byte gAvailablePokemonNames _0805295C: movs r7, 0 ldr r0, _08052988 @@ -747,7 +747,7 @@ _08052966: ldrsh r4, [r4, r2] b _080529A6 .align 2, 0 -_08052988: .4byte gUnknown_202DF98 +_08052988: .4byte gAvailablePokemonNames _0805298C: .4byte gUnknown_80F7AF8 _08052990: .4byte gUnknown_203B45C _08052994: .4byte 0x00008df8 @@ -790,7 +790,7 @@ _080529D4: .align 2, 0 _080529E4: .4byte gUnknown_202E5D8 _080529E8: .4byte gUnknown_80F7AFC -_080529EC: .4byte gUnknown_202DF98 +_080529EC: .4byte gAvailablePokemonNames _080529F0: ldr r0, _080529FC ldr r1, _08052A00 @@ -1220,7 +1220,7 @@ sub_8052D44: strh r0, [r7] b _08052D7A .align 2, 0 -_08052D6C: .4byte gUnknown_202DF98 +_08052D6C: .4byte gAvailablePokemonNames _08052D70: ldr r0, _08052D9C ldr r1, _08052DA0 @@ -1242,7 +1242,7 @@ _08052D7A: strh r0, [r7, 0x2] b _08052DB2 .align 2, 0 -_08052D9C: .4byte gUnknown_202DF98 +_08052D9C: .4byte gAvailablePokemonNames _08052DA0: .4byte gUnknown_80F7AF8 _08052DA4: .4byte gUnknown_202DFE8 _08052DA8: @@ -6368,7 +6368,7 @@ _08055A22: b _08055A8A .align 2, 0 _08055A4C: .4byte 0x00000159 -_08055A50: .4byte gUnknown_202DF98 +_08055A50: .4byte gAvailablePokemonNames _08055A54: .4byte gUnknown_80FC714 _08055A58: cmp r0, 0x7 @@ -6380,7 +6380,7 @@ _08055A58: ldr r0, _08055A70 b _08055A8A .align 2, 0 -_08055A6C: .4byte gUnknown_202DF98 +_08055A6C: .4byte gAvailablePokemonNames _08055A70: .4byte gUnknown_80FC718 _08055A74: mov r0, r10 @@ -6400,7 +6400,7 @@ _08055A8A: movs r0, 0 b _08055DB4 .align 2, 0 -_08055A98: .4byte gUnknown_202DF98 +_08055A98: .4byte gAvailablePokemonNames _08055A9C: .4byte gUnknown_80FC6A8 _08055AA0: ldr r0, _08055B24 @@ -7004,7 +7004,7 @@ _08055F84: .4byte gUnknown_80FEF54 _08055F88: .4byte gUnknown_80F4E74 _08055F8C: .4byte gUnknown_80FEF74 _08055F90: .4byte gUnknown_80FEF98 -_08055F94: .4byte gUnknown_202DF98 +_08055F94: .4byte gAvailablePokemonNames _08055F98: .4byte gUnknown_80FEFD0 _08055F9C: .4byte gUnknown_80F5004 thumb_func_end sub_8055DDC @@ -7186,7 +7186,7 @@ _08056108: .4byte gUnknown_203B418 _0805610C: .4byte 0x00003a0e _08056110: .4byte gUnknown_80F5D10 _08056114: .4byte gUnknown_80FECE0 -_08056118: .4byte gUnknown_202DF98 +_08056118: .4byte gAvailablePokemonNames _0805611C: .4byte gUnknown_202DE58 _08056120: .4byte gUnknown_80FC72C _08056124: @@ -7246,7 +7246,7 @@ _08056190: b _08056446 .align 2, 0 _08056194: .4byte gUnknown_80F9158 -_08056198: .4byte gUnknown_202DF98 +_08056198: .4byte gAvailablePokemonNames _0805619C: .4byte gUnknown_80FC710 _080561A0: cmp r4, 0 @@ -7271,7 +7271,7 @@ _080561A0: ldr r0, _080561DC b _08056188 .align 2, 0 -_080561D4: .4byte gUnknown_202DF98 +_080561D4: .4byte gAvailablePokemonNames _080561D8: .4byte gUnknown_202DE58 _080561DC: .4byte gUnknown_80FC6D0 _080561E0: @@ -7642,7 +7642,7 @@ _080564BC: bl sub_80928C0 b _080564F2 .align 2, 0 -_080564DC: .4byte gUnknown_202DF98 +_080564DC: .4byte gAvailablePokemonNames _080564E0: .4byte gUnknown_202DE58 _080564E4: ldr r0, _08056508 @@ -10573,7 +10573,7 @@ _08057A78: pop {r1} bx r1 .align 2, 0 -_08057A90: .4byte gUnknown_202DF98 +_08057A90: .4byte gAvailablePokemonNames _08057A94: .4byte gUnknown_80FC7EC thumb_func_end sub_8057A0C @@ -13236,7 +13236,7 @@ _08058E4C: pop {r1} bx r1 .align 2, 0 -_08058E54: .4byte gUnknown_202DF98 +_08058E54: .4byte gAvailablePokemonNames _08058E58: .4byte gUnknown_80FBD58 thumb_func_end sub_8058DBC @@ -15482,7 +15482,7 @@ _08059F1A: pop {r1} bx r1 .align 2, 0 -_08059F2C: .4byte gUnknown_202DF98 +_08059F2C: .4byte gAvailablePokemonNames _08059F30: .4byte gUnknown_80FC7C8 _08059F34: .4byte 0x000001f7 thumb_func_end sub_8059E54 @@ -15665,7 +15665,7 @@ _0805A090: pop {r1} bx r1 .align 2, 0 -_0805A0A0: .4byte gUnknown_202DF98 +_0805A0A0: .4byte gAvailablePokemonNames _0805A0A4: .4byte gUnknown_80FC7C8 thumb_func_end sub_8059FC8 @@ -15767,7 +15767,7 @@ sub_805A120: ldr r0, _0805A170 b _0805A1B8 .align 2, 0 -_0805A16C: .4byte gUnknown_202DF98 +_0805A16C: .4byte gAvailablePokemonNames _0805A170: .4byte gUnknown_80FCCE4 _0805A174: adds r0, r5, 0 @@ -16537,7 +16537,7 @@ sub_805A6C8: ldr r0, _0805A70C b _0805A73A .align 2, 0 -_0805A708: .4byte gUnknown_202DF98 +_0805A708: .4byte gAvailablePokemonNames _0805A70C: .4byte gUnknown_80FCCE8 _0805A710: adds r0, r5, 0 @@ -17057,7 +17057,7 @@ _0805AB36: pop {r1} bx r1 .align 2, 0 -_0805AB40: .4byte gUnknown_202DF98 +_0805AB40: .4byte gAvailablePokemonNames _0805AB44: .4byte gUnknown_80FC5CC thumb_func_end sub_805AAE0 @@ -18384,7 +18384,7 @@ _0805B4F8: b _0805B524 .align 2, 0 _0805B50C: .4byte 0x00000147 -_0805B510: .4byte gUnknown_202DF98 +_0805B510: .4byte gAvailablePokemonNames _0805B514: .4byte gUnknown_80FDCE4 _0805B518: ldr r0, _0805B538 @@ -19132,7 +19132,7 @@ sub_805BA50: movs r0, 0x1 b _0805BB4E .align 2, 0 -_0805BAC0: .4byte gUnknown_202DF98 +_0805BAC0: .4byte gAvailablePokemonNames _0805BAC4: adds r0, r5, 0 movs r1, 0x24 @@ -19554,7 +19554,7 @@ TransferOrbAction: movs r0, 0 b _0805BE78 .align 2, 0 -_0805BDD0: .4byte gUnknown_202DF98 +_0805BDD0: .4byte gAvailablePokemonNames _0805BDD4: .4byte gUnknown_80FD450 _0805BDD8: movs r6, 0 @@ -19642,7 +19642,7 @@ _0805BE78: pop {r1} bx r1 .align 2, 0 -_0805BE88: .4byte gUnknown_202DF98 +_0805BE88: .4byte gAvailablePokemonNames _0805BE8C: .4byte gUnknown_80FD450 thumb_func_end TransferOrbAction @@ -19717,7 +19717,7 @@ EscapeOrbAction: bl sub_80522F4 b _0805BF26 .align 2, 0 -_0805BF00: .4byte gUnknown_202DF98 +_0805BF00: .4byte gAvailablePokemonNames _0805BF04: .4byte gUnknown_203B418 _0805BF08: .4byte 0x0000066e _0805BF0C: .4byte gUnknown_80FD4DC @@ -25578,7 +25578,7 @@ _0805F184: bx r0 .align 2, 0 _0805F194: .4byte gUnknown_203B450 -_0805F198: .4byte gUnknown_202DF98 +_0805F198: .4byte gAvailablePokemonNames _0805F19C: .4byte gUnknown_80F9BB0 thumb_func_end sub_805F02C @@ -26427,7 +26427,7 @@ _0805F8CE: mov r10, r3 b _0805F904 .align 2, 0 -_0805F8D8: .4byte gUnknown_202DF98 +_0805F8D8: .4byte gAvailablePokemonNames _0805F8DC: .4byte gUnknown_80FDE18 _0805F8E0: ldr r0, [sp, 0x10] @@ -26760,7 +26760,7 @@ _0805FBC0: .4byte gUnknown_202DE30 _0805FBC4: .4byte gUnknown_80F9174 _0805FBC8: .4byte gUnknown_203B460 _0805FBCC: .4byte gUnknown_80F9190 -_0805FBD0: .4byte gUnknown_202DF98 +_0805FBD0: .4byte gAvailablePokemonNames _0805FBD4: .4byte gUnknown_80F91A8 _0805FBD8: .4byte gUnknown_80F91C8 _0805FBDC: .4byte gUnknown_203B418 @@ -28140,7 +28140,7 @@ _080606B0: bl sub_8014FF0 b _08060794 .align 2, 0 -_0806070C: .4byte gUnknown_202DF98 +_0806070C: .4byte gAvailablePokemonNames _08060710: .4byte gUnknown_80FE940 _08060714: .4byte gUnknown_8106B60 _08060718: @@ -28241,7 +28241,7 @@ _080607D0: _080607E0: .4byte gUnknown_203B418 _080607E4: .4byte gUnknown_202F248 _080607E8: .4byte 0x0001357c -_080607EC: .4byte gUnknown_202DF98 +_080607EC: .4byte gAvailablePokemonNames _080607F0: .4byte gUnknown_80FE940 _080607F4: .4byte gUnknown_202EE10 _080607F8: .4byte gUnknown_8106B60 @@ -29647,7 +29647,7 @@ _08061324: .4byte gUnknown_202F260 _08061328: .4byte gUnknown_202F270 _0806132C: .4byte gUnknown_202EE10 _08061330: .4byte gUnknown_8106BB0 -_08061334: .4byte gUnknown_202DF98 +_08061334: .4byte gAvailablePokemonNames _08061338: .4byte gUnknown_203B45C _0806133C: .4byte 0x00008e02 _08061340: .4byte gUnknown_8106BB4 @@ -30459,7 +30459,7 @@ _080619B8: bl sub_8014FF0 b _080619F4 .align 2, 0 -_080619DC: .4byte gUnknown_202DF98 +_080619DC: .4byte gAvailablePokemonNames _080619E0: .4byte gUnknown_8106BEC _080619E4: mov r1, r10 @@ -32698,7 +32698,7 @@ _08062BCA: movs r0, 0x1 b _08062BDA .align 2, 0 -_08062BD0: .4byte gUnknown_202DF98 +_08062BD0: .4byte gAvailablePokemonNames _08062BD4: .4byte gUnknown_80FE978 _08062BD8: movs r0, 0 @@ -32849,7 +32849,7 @@ _08062CF4: movs r0, 0x1 b _08062D02 .align 2, 0 -_08062CF8: .4byte gUnknown_202DF98 +_08062CF8: .4byte gAvailablePokemonNames _08062CFC: .4byte gUnknown_80FE940 _08062D00: movs r0, 0 @@ -33859,7 +33859,7 @@ _08063508: .4byte gUnknown_8106CAC _0806350C: .4byte gUnknown_202EE10 _08063510: .4byte gUnknown_202F2D8 _08063514: .4byte gUnknown_2027370 -_08063518: .4byte gUnknown_202DF98 +_08063518: .4byte gAvailablePokemonNames _0806351C: movs r0, 0x2 ands r0, r1 @@ -33972,7 +33972,7 @@ _080635D0: movs r0, 0x2 b _08063606 .align 2, 0 -_080635FC: .4byte gUnknown_202DF98 +_080635FC: .4byte gAvailablePokemonNames _08063600: .4byte gUnknown_80FE978 _08063604: movs r0, 0x4 @@ -34532,7 +34532,7 @@ sub_80639E4: .align 2, 0 _08063A5C: .4byte gUnknown_202F278 _08063A60: .4byte gUnknown_8106CC8 -_08063A64: .4byte gUnknown_202DF98 +_08063A64: .4byte gAvailablePokemonNames _08063A68: .4byte gUnknown_8106CCC _08063A6C: .4byte gUnknown_202EE10 thumb_func_end sub_80639E4 @@ -35643,7 +35643,7 @@ _08064262: .align 2, 0 _08064304: .4byte gUnknown_202EE10 _08064308: .4byte gUnknown_202F2D8 -_0806430C: .4byte gUnknown_202DF98 +_0806430C: .4byte gAvailablePokemonNames thumb_func_end sub_8064228 thumb_func_start sub_8064310 @@ -39517,7 +39517,7 @@ _08066244: .align 2, 0 _08066254: .4byte gUnknown_80FEA80 _08066258: .4byte gUnknown_8106D8C -_0806625C: .4byte gUnknown_202DF98 +_0806625C: .4byte gAvailablePokemonNames _08066260: ldr r0, _08066284 ldr r2, [r0] @@ -39630,7 +39630,7 @@ _0806633E: bx r1 .align 2, 0 _08066348: .4byte gUnknown_8106D8C -_0806634C: .4byte gUnknown_202DF98 +_0806634C: .4byte gAvailablePokemonNames _08066350: .4byte gUnknown_203B084 _08066354: .4byte gUnknown_202F2F8 thumb_func_end sub_8066288 @@ -39732,7 +39732,7 @@ _0806641A: bx r1 .align 2, 0 _08066424: .4byte gUnknown_8106D8C -_08066428: .4byte gUnknown_202DF98 +_08066428: .4byte gAvailablePokemonNames _0806642C: .4byte gUnknown_203B080 _08066430: .4byte gUnknown_202F2F8 thumb_func_end sub_8066358 @@ -40672,7 +40672,7 @@ _08066BAC: .align 2, 0 _08066BB8: .4byte 0xffffff00 _08066BBC: .4byte gUnknown_202DE58 -_08066BC0: .4byte gUnknown_202DF98 +_08066BC0: .4byte gAvailablePokemonNames _08066BC4: .4byte 0x0000014d _08066BC8: .4byte gUnknown_80F8D7C _08066BCC: .4byte gUnknown_203B418 @@ -40943,7 +40943,7 @@ _08066DF8: bx r0 .align 2, 0 _08066E00: .4byte 0x0000014d -_08066E04: .4byte gUnknown_202DF98 +_08066E04: .4byte gAvailablePokemonNames _08066E08: .4byte gUnknown_80F8E28 _08066E0C: .4byte gUnknown_203B418 _08066E10: .4byte 0x00003a08 @@ -41366,7 +41366,7 @@ _08067188: bx r0 .align 2, 0 _08067190: .4byte gUnknown_202DE58 -_08067194: .4byte gUnknown_202DF98 +_08067194: .4byte gAvailablePokemonNames _08067198: .4byte gUnknown_203B418 _0806719C: .4byte 0x00003a08 thumb_func_end sub_8067110 @@ -41625,7 +41625,7 @@ _08067384: b _080673C6 .align 2, 0 _080673B0: .4byte gUnknown_202DE58 -_080673B4: .4byte gUnknown_202DF98 +_080673B4: .4byte gAvailablePokemonNames _080673B8: .4byte gUnknown_80F8EC8 _080673BC: ldr r0, _080673F8 @@ -41920,7 +41920,7 @@ _08067600: movs r0, 0 b _08067716 .align 2, 0 -_08067608: .4byte gUnknown_202DF98 +_08067608: .4byte gAvailablePokemonNames _0806760C: .4byte gUnknown_80FE008 _08067610: adds r0, r6, 0x4 @@ -42168,7 +42168,7 @@ _080677B4: ldr r0, _08067808 b _08067832 .align 2, 0 -_080677F0: .4byte gUnknown_202DF98 +_080677F0: .4byte gAvailablePokemonNames _080677F4: .4byte gUnknown_80F9094 _080677F8: .4byte gUnknown_80F913C _080677FC: .4byte gUnknown_203B45C @@ -42229,7 +42229,7 @@ _0806786C: .align 2, 0 _08067874: .4byte gUnknown_80F90C8 _08067878: .4byte gUnknown_80F9150 -_0806787C: .4byte gUnknown_202DF98 +_0806787C: .4byte gAvailablePokemonNames _08067880: .4byte 0x0000021d thumb_func_end sub_8067794 @@ -42329,7 +42329,7 @@ sub_8067904: b _08067962 .align 2, 0 _08067940: .4byte gUnknown_202F208 -_08067944: .4byte gUnknown_202DF98 +_08067944: .4byte gAvailablePokemonNames _08067948: .4byte gUnknown_80F8F20 _0806794C: adds r0, r6, 0 @@ -42348,7 +42348,7 @@ _08067962: bl sub_80522A8 b _08067A56 .align 2, 0 -_0806796C: .4byte gUnknown_202DF98 +_0806796C: .4byte gAvailablePokemonNames _08067970: .4byte gUnknown_80F8F38 _08067974: movs r0, 0xB0 @@ -43074,7 +43074,7 @@ sub_8067F00: mov r10, r1 b _08067FF6 .align 2, 0 -_08067F44: .4byte gUnknown_202DF98 +_08067F44: .4byte gAvailablePokemonNames _08067F48: .4byte gUnknown_8106E28 _08067F4C: ldr r4, _08067F8C @@ -43106,7 +43106,7 @@ _08067F4C: bl strcpy b _08067FA4 .align 2, 0 -_08067F8C: .4byte gUnknown_202DF98 +_08067F8C: .4byte gAvailablePokemonNames _08067F90: .4byte gUnknown_202DE30 _08067F94: .4byte gUnknown_202DE58 _08067F98: .4byte gUnknown_8106E2C @@ -44546,7 +44546,7 @@ _08068AB2: .align 2, 0 _08068AE0: .4byte gUnknown_203B45C _08068AE4: .4byte 0x00008df8 -_08068AE8: .4byte gUnknown_202DF98 +_08068AE8: .4byte gAvailablePokemonNames _08068AEC: .4byte gUnknown_80FE0F4 _08068AF0: cmp r0, 0x47 @@ -44616,7 +44616,7 @@ _08068B3E: _08068B6C: .4byte gUnknown_203B45C _08068B70: .4byte 0x00008df8 _08068B74: .4byte 0x000055aa -_08068B78: .4byte gUnknown_202DF98 +_08068B78: .4byte gAvailablePokemonNames _08068B7C: .4byte gUnknown_80FE134 _08068B80: adds r5, 0x1 @@ -44632,7 +44632,7 @@ _08068B80: ldr r0, _08068BA0 b _08068BB2 .align 2, 0 -_08068B9C: .4byte gUnknown_202DF98 +_08068B9C: .4byte gAvailablePokemonNames _08068BA0: .4byte gUnknown_80FE0F4 _08068BA4: cmp r0, 0x47 @@ -47421,7 +47421,7 @@ _0806A0FA: bx r0 .align 2, 0 _0806A108: .4byte gUnknown_203B418 -_0806A10C: .4byte gUnknown_202DF98 +_0806A10C: .4byte gAvailablePokemonNames _0806A110: .4byte gUnknown_80FCC7C _0806A114: .4byte gUnknown_80F51E4 _0806A118: .4byte gUnknown_202DE58 @@ -47488,7 +47488,7 @@ _0806A19C: pop {r0} bx r0 .align 2, 0 -_0806A1A4: .4byte gUnknown_202DF98 +_0806A1A4: .4byte gAvailablePokemonNames _0806A1A8: .4byte gUnknown_202DE58 _0806A1AC: .4byte gUnknown_80FDCC8 thumb_func_end sub_806A120 @@ -48356,7 +48356,7 @@ _0806A818: mov r0, sp b _0806A836 .align 2, 0 -_0806A828: .4byte gUnknown_202DF98 +_0806A828: .4byte gAvailablePokemonNames _0806A82C: adds r1, 0x1 cmp r1, r9 @@ -54483,7 +54483,7 @@ _0806D71E: b _0806D754 .align 2, 0 _0806D728: .4byte gUnknown_80F9670 -_0806D72C: .4byte gUnknown_202DF98 +_0806D72C: .4byte gAvailablePokemonNames _0806D730: .4byte gUnknown_80F9688 _0806D734: movs r1, 0xA9 @@ -54902,7 +54902,7 @@ _0806DA50: ldr r2, [r0] b _0806DAC2 .align 2, 0 -_0806DA88: .4byte gUnknown_202DF98 +_0806DA88: .4byte gAvailablePokemonNames _0806DA8C: .4byte gUnknown_80F9E44 _0806DA90: ldr r0, _0806DA98 @@ -55330,7 +55330,7 @@ _0806DDA2: ldr r0, _0806DDF4 b _0806DF2E .align 2, 0 -_0806DDF0: .4byte gUnknown_202DF98 +_0806DDF0: .4byte gAvailablePokemonNames _0806DDF4: .4byte gUnknown_80FD484 _0806DDF8: mov r4, r8 @@ -58980,7 +58980,7 @@ sub_806FA5C: bl sub_80522A8 b _0806FB28 .align 2, 0 -_0806FAD4: .4byte gUnknown_202DF98 +_0806FAD4: .4byte gAvailablePokemonNames _0806FAD8: .4byte gUnknown_80F9FE8 _0806FADC: .4byte 0x0000019d _0806FAE0: .4byte gUnknown_80FA004 @@ -59123,11 +59123,11 @@ _0806FBC4: adds r4, 0x58 movs r1, 0 ldrsh r0, [r6, r1] - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 adds r0, r4, 0 movs r2, 0xA - bl sub_8092310 + bl BoundedCopyStringtoBuffer bl sub_8097848 movs r2, 0 ldrsh r0, [r6, r2] @@ -59240,7 +59240,7 @@ _0806FCF0: bx r1 .align 2, 0 _0806FD00: .4byte gUnknown_80FA0C8 -_0806FD04: .4byte gUnknown_202DF98 +_0806FD04: .4byte gAvailablePokemonNames _0806FD08: .4byte gUnknown_80FA0F0 _0806FD0C: .4byte gUnknown_202E628 _0806FD10: .4byte gUnknown_80FA120 @@ -59510,11 +59510,11 @@ _0806FED8: add r0, sp, 0xC movs r1, 0 ldrsh r0, [r0, r1] - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 adds r0, r4, 0 movs r2, 0xA - bl sub_8092310 + bl BoundedCopyStringtoBuffer adds r0, r7, 0 bl GetFriendAreaStatus lsls r0, 24 @@ -59622,7 +59622,7 @@ _0806FFF8: bx r1 .align 2, 0 _08070008: .4byte gUnknown_80FA0C8 -_0807000C: .4byte gUnknown_202DF98 +_0807000C: .4byte gAvailablePokemonNames _08070010: .4byte gUnknown_202E628 _08070014: .4byte gUnknown_80FA120 _08070018: .4byte gUnknown_202E088 @@ -59656,7 +59656,7 @@ _08070042: _0807004C: b _0807005A .align 2, 0 -_08070050: .4byte gUnknown_202DF98 +_08070050: .4byte gAvailablePokemonNames _08070054: cmp r0, 0x5 bne _0807005A @@ -59854,7 +59854,7 @@ sub_80701A4: beq _080701DC b _080701E4 .align 2, 0 -_080701D4: .4byte gUnknown_202DF98 +_080701D4: .4byte gAvailablePokemonNames _080701D8: cmp r0, 0x5 bne _080701E4 @@ -60998,7 +60998,7 @@ _08070A20: movs r0, 0x4 ldrsh r1, [r1, r0] adds r0, r3, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer b _08070A48 _08070A32: ldr r2, _08070A50 @@ -62755,7 +62755,7 @@ _08071714: movs r0, 0x1 b _08071722 .align 2, 0 -_08071718: .4byte gUnknown_202DF98 +_08071718: .4byte gAvailablePokemonNames _0807171C: .4byte gUnknown_80FC2FC _08071720: movs r0, 0 @@ -62786,7 +62786,7 @@ sub_8071728: ldr r0, _08071754 b _08071784 .align 2, 0 -_08071750: .4byte gUnknown_202DF98 +_08071750: .4byte gAvailablePokemonNames _08071754: .4byte gUnknown_80FC31C _08071758: adds r0, r4, 0 @@ -62818,7 +62818,7 @@ _0807178E: movs r0, 0x1 b _0807179E .align 2, 0 -_08071794: .4byte gUnknown_202DF98 +_08071794: .4byte gAvailablePokemonNames _08071798: .4byte gUnknown_80FCEFC _0807179C: movs r0, 0 @@ -63516,7 +63516,7 @@ _08071C60: .4byte gUnknown_80F4DAC _08071C64: .4byte 0x00000662 _08071C68: .4byte 0x00017b34 _08071C6C: .4byte 0x00017b40 -_08071C70: .4byte gUnknown_202DF98 +_08071C70: .4byte gAvailablePokemonNames _08071C74: .4byte 0x0001358c _08071C78: .4byte 0x0000066e _08071C7C: .4byte gUnknown_203B418 @@ -63835,7 +63835,7 @@ _08071EB6: b _08071F02 .align 2, 0 _08071EE8: .4byte gUnknown_202DE30 -_08071EEC: .4byte gUnknown_202DF98 +_08071EEC: .4byte gAvailablePokemonNames _08071EF0: .4byte gUnknown_80F9E64 _08071EF4: .4byte 0x00000149 _08071EF8: @@ -63968,7 +63968,7 @@ _08071FE2: bx r0 .align 2, 0 _08071FF4: .4byte gUnknown_202DE30 -_08071FF8: .4byte gUnknown_202DF98 +_08071FF8: .4byte gAvailablePokemonNames _08071FFC: .4byte gUnknown_202DE58 _08072000: .4byte gUnknown_80FF730 _08072004: .4byte 0x00000149 @@ -64159,7 +64159,7 @@ _08072162: bx r0 .align 2, 0 _08072174: .4byte gUnknown_202DE30 -_08072178: .4byte gUnknown_202DF98 +_08072178: .4byte gAvailablePokemonNames _0807217C: .4byte gUnknown_202DE58 _08072180: .4byte gUnknown_80FF730 _08072184: .4byte 0x00000149 @@ -64196,7 +64196,7 @@ sub_807218C: lsls r1, 1 b _080721EC .align 2, 0 -_080721C8: .4byte gUnknown_202DF98 +_080721C8: .4byte gAvailablePokemonNames _080721CC: cmp r0, 0x47 bne _080721D8 @@ -64444,7 +64444,7 @@ _080723B6: bx r0 .align 2, 0 _080723C4: .4byte 0x00000149 -_080723C8: .4byte gUnknown_202DF98 +_080723C8: .4byte gAvailablePokemonNames _080723CC: .4byte gUnknown_80F9B94 thumb_func_end sub_807232C @@ -64535,7 +64535,7 @@ _08072456: b _080724A4 .align 2, 0 _08072474: .4byte gUnknown_202DE30 -_08072478: .4byte gUnknown_202DF98 +_08072478: .4byte gAvailablePokemonNames _0807247C: .4byte gUnknown_80F9E80 _08072480: ldr r3, [sp, 0x18] @@ -64675,7 +64675,7 @@ _08072576: bx r1 .align 2, 0 _08072588: .4byte gUnknown_202DE30 -_0807258C: .4byte gUnknown_202DF98 +_0807258C: .4byte gAvailablePokemonNames _08072590: .4byte gUnknown_80F9E80 _08072594: .4byte 0x03e60000 _08072598: .4byte 0x000003e7 @@ -64900,7 +64900,7 @@ _0807272E: .align 2, 0 _08072734: .4byte gUnknown_202F31C _08072738: .4byte gUnknown_202F324 -_0807273C: .4byte gUnknown_202DF98 +_0807273C: .4byte gAvailablePokemonNames _08072740: .4byte gUnknown_80F9EEC _08072744: ldr r0, _08072770 @@ -65102,7 +65102,7 @@ _08072894: bl sub_80528F4 b _08072928 .align 2, 0 -_080728C8: .4byte gUnknown_202DF98 +_080728C8: .4byte gAvailablePokemonNames _080728CC: .4byte gUnknown_202DE58 _080728D0: .4byte gUnknown_80F9F04 _080728D4: @@ -65297,7 +65297,7 @@ _08072A0C: bl sub_80528F4 b _08072A8C .align 2, 0 -_08072A44: .4byte gUnknown_202DF98 +_08072A44: .4byte gAvailablePokemonNames _08072A48: .4byte gUnknown_202DE58 _08072A4C: .4byte gUnknown_80F9F04 _08072A50: @@ -65358,7 +65358,7 @@ _08072AB0: pop {r1} bx r1 .align 2, 0 -_08072AC0: .4byte gUnknown_202DF98 +_08072AC0: .4byte gAvailablePokemonNames _08072AC4: .4byte gUnknown_80F9F2C thumb_func_end sub_8072938 @@ -65521,7 +65521,7 @@ sub_8072B78: ldr r4, _08072C04 b _08072C0C .align 2, 0 -_08072BFC: .4byte gUnknown_202DF98 +_08072BFC: .4byte gAvailablePokemonNames _08072C00: .4byte gUnknown_80FE2EC _08072C04: .4byte gUnknown_80F4448 _08072C08: @@ -66132,7 +66132,7 @@ _08073136: ldr r0, _08073148 b _080731A2 .align 2, 0 -_08073144: .4byte gUnknown_202DF98 +_08073144: .4byte gAvailablePokemonNames _08073148: .4byte gUnknown_80FE6D4 _0807314C: adds r0, r4, 0 @@ -66185,7 +66185,7 @@ _080731A2: bl sub_80522A8 b _080731B8 .align 2, 0 -_080731AC: .4byte gUnknown_202DF98 +_080731AC: .4byte gAvailablePokemonNames _080731B0: .4byte gUnknown_80FE478 _080731B4: movs r0, 0x1 @@ -66502,7 +66502,7 @@ _080733FC: b _08073456 .align 2, 0 _08073434: .4byte 0x00000147 -_08073438: .4byte gUnknown_202DF98 +_08073438: .4byte gAvailablePokemonNames _0807343C: .4byte gUnknown_80FCF38 _08073440: adds r0, r5, 0x4 @@ -66739,7 +66739,7 @@ _080735EE: pop {r0} bx r0 .align 2, 0 -_08073600: .4byte gUnknown_202DF98 +_08073600: .4byte gAvailablePokemonNames _08073604: .4byte gUnknown_80FCF50 _08073608: .4byte 0x00000165 thumb_func_end sub_807348C @@ -67721,7 +67721,7 @@ _08073D64: movs r0, 0x1 b _08073D6E .align 2, 0 -_08073D68: .4byte gUnknown_202DF98 +_08073D68: .4byte gAvailablePokemonNames _08073D6C: movs r0, 0 _08073D6E: @@ -67765,7 +67765,7 @@ _08073D98: b _0807404C .align 2, 0 _08073DBC: .4byte gUnknown_202DE58 -_08073DC0: .4byte gUnknown_202DF98 +_08073DC0: .4byte gAvailablePokemonNames _08073DC4: .4byte gUnknown_80F8F88 _08073DC8: mov r1, r10 @@ -68092,7 +68092,7 @@ _0807404C: bl sub_805239C b _0807407A .align 2, 0 -_08074058: .4byte gUnknown_202DF98 +_08074058: .4byte gAvailablePokemonNames _0807405C: .4byte gUnknown_80F8FAC _08074060: ldr r0, _0807408C @@ -69400,7 +69400,7 @@ _08074B2E: _08074B40: .4byte 0x0000270f _08074B44: .4byte 0x0000020e _08074B48: .4byte 0x00000165 -_08074B4C: .4byte gUnknown_202DF98 +_08074B4C: .4byte gAvailablePokemonNames _08074B50: .4byte gUnknown_80FABD8 thumb_func_end sub_8074094 @@ -69866,7 +69866,7 @@ _08074EC6: _08074EF8: .4byte gUnknown_80F4FC4 _08074EFC: .4byte gUnknown_80F4FC0 _08074F00: .4byte gUnknown_80F4FC2 -_08074F04: .4byte gUnknown_202DF98 +_08074F04: .4byte gAvailablePokemonNames _08074F08: movs r2, 0 bl sub_8045B94 @@ -69945,7 +69945,7 @@ _08074F96: .align 2, 0 _08074FA0: .4byte gPtrStenchWavedOffMessage _08074FA4: .4byte 0x0000010d -_08074FA8: .4byte gUnknown_202DF98 +_08074FA8: .4byte gAvailablePokemonNames _08074FAC: .4byte gUnknown_80FA124 thumb_func_end sub_8074B54 @@ -71261,7 +71261,7 @@ _080759E4: bl sub_80522A8 b _08075B92 .align 2, 0 -_08075A1C: .4byte gUnknown_202DF98 +_08075A1C: .4byte gAvailablePokemonNames _08075A20: .4byte gPtrCouldntBeUsedMessage _08075A24: adds r0, r7, 0 @@ -71671,7 +71671,7 @@ _08075D34: ldr r0, _08075D50 b _08075DA0 .align 2, 0 -_08075D4C: .4byte gUnknown_202DF98 +_08075D4C: .4byte gAvailablePokemonNames _08075D50: .4byte gUnknown_80FCD54 _08075D54: adds r0, r4, 0 @@ -72071,7 +72071,7 @@ _08076050: bl sub_80522F4 b _08076080 .align 2, 0 -_08076060: .4byte gUnknown_202DF98 +_08076060: .4byte gAvailablePokemonNames _08076064: .4byte gUnknown_80F4E7C _08076068: .4byte 0x00000165 _0807606C: .4byte gUnknown_80FB41C @@ -72148,7 +72148,7 @@ _080760D0: ldr r0, _08076104 b _08076116 .align 2, 0 -_08076100: .4byte gUnknown_202DF98 +_08076100: .4byte gAvailablePokemonNames _08076104: .4byte gUnknown_80FB480 _08076108: ldr r0, _0807610C @@ -72226,7 +72226,7 @@ sub_807614C: bl sub_80522F4 b _08076206 .align 2, 0 -_080761A0: .4byte gUnknown_202DF98 +_080761A0: .4byte gAvailablePokemonNames _080761A4: .4byte gUnknown_80FCC4C _080761A8: ldr r0, _080761E8 @@ -72257,7 +72257,7 @@ _080761A8: bl sub_80522F4 b _08076200 .align 2, 0 -_080761E8: .4byte gUnknown_202DF98 +_080761E8: .4byte gAvailablePokemonNames _080761EC: .4byte gUnknown_80F4F00 _080761F0: .4byte gUnknown_80FB50C _080761F4: @@ -72328,7 +72328,7 @@ _0807626E: ldr r0, _08076278 b _080762CC .align 2, 0 -_08076274: .4byte gUnknown_202DF98 +_08076274: .4byte gAvailablePokemonNames _08076278: .4byte gUnknown_80FCE5C _0807627C: adds r0, r5, 0 @@ -72507,7 +72507,7 @@ _080763DA: .align 2, 0 _080763E8: .4byte gUnknown_80FB564 _080763EC: .4byte gUnknown_80F4448 -_080763F0: .4byte gUnknown_202DF98 +_080763F0: .4byte gAvailablePokemonNames _080763F4: .4byte gUnknown_80FF01C thumb_func_end sub_8076210 @@ -72559,7 +72559,7 @@ _08076450: ldr r0, _08076458 b _080764A4 .align 2, 0 -_08076454: .4byte gUnknown_202DF98 +_08076454: .4byte gAvailablePokemonNames _08076458: .4byte gUnknown_80FD524 _0807645C: adds r0, r5, 0 @@ -72741,7 +72741,7 @@ _080765C0: .align 2, 0 _080765D0: .4byte gUnknown_80FB5F8 _080765D4: .4byte gUnknown_80F4448 -_080765D8: .4byte gUnknown_202DF98 +_080765D8: .4byte gAvailablePokemonNames _080765DC: .4byte gUnknown_80FF01C thumb_func_end sub_80763F8 @@ -72793,7 +72793,7 @@ _08076638: ldr r0, _08076640 b _0807668C .align 2, 0 -_0807663C: .4byte gUnknown_202DF98 +_0807663C: .4byte gAvailablePokemonNames _08076640: .4byte gUnknown_80FD524 _08076644: adds r0, r5, 0 @@ -72964,7 +72964,7 @@ _08076790: .align 2, 0 _080767A0: .4byte gUnknown_80FB5F8 _080767A4: .4byte gUnknown_80F4448 -_080767A8: .4byte gUnknown_202DF98 +_080767A8: .4byte gAvailablePokemonNames _080767AC: .4byte gUnknown_80FF01C thumb_func_end sub_80765E0 @@ -73013,7 +73013,7 @@ _080767CE: ldr r0, _08076810 b _0807685C .align 2, 0 -_0807680C: .4byte gUnknown_202DF98 +_0807680C: .4byte gAvailablePokemonNames _08076810: .4byte gUnknown_80FCDE0 _08076814: adds r0, r5, 0 @@ -73200,7 +73200,7 @@ _08076948: bl sub_806CE94 b _080769B8 .align 2, 0 -_0807699C: .4byte gUnknown_202DF98 +_0807699C: .4byte gAvailablePokemonNames _080769A0: .4byte gUnknown_80FA844 _080769A4: .4byte gUnknown_80F4E58 _080769A8: .4byte gUnknown_80FB628 @@ -73304,7 +73304,7 @@ _08076A2A: bl sub_806CE94 b _08076A94 .align 2, 0 -_08076A78: .4byte gUnknown_202DF98 +_08076A78: .4byte gAvailablePokemonNames _08076A7C: .4byte gUnknown_80FA844 _08076A80: .4byte gUnknown_80F4E54 _08076A84: .4byte gUnknown_80FB668 @@ -73382,7 +73382,7 @@ _08076AD8: bl sub_80522F4 b _08076B34 .align 2, 0 -_08076B1C: .4byte gUnknown_202DF98 +_08076B1C: .4byte gAvailablePokemonNames _08076B20: .4byte gUnknown_80F4E60 _08076B24: .4byte gUnknown_80FB6A4 _08076B28: @@ -73502,7 +73502,7 @@ _08076B74: _08076C0C: .4byte gUnknown_80F4E5C _08076C10: .4byte gUnknown_203B418 _08076C14: .4byte 0x000037f4 -_08076C18: .4byte gUnknown_202DF98 +_08076C18: .4byte gAvailablePokemonNames _08076C1C: .4byte gUnknown_80FB6D8 _08076C20: adds r7, r5, 0 @@ -73570,7 +73570,7 @@ _08076C9E: pop {r0} bx r0 .align 2, 0 -_08076CA8: .4byte gUnknown_202DF98 +_08076CA8: .4byte gAvailablePokemonNames _08076CAC: .4byte gUnknown_80FB6FC _08076CB0: .4byte gUnknown_80FB718 thumb_func_end sub_8076B48 @@ -73673,7 +73673,7 @@ _08076D54: ldr r1, _08076D78 b _08076D7E .align 2, 0 -_08076D74: .4byte gUnknown_202DF98 +_08076D74: .4byte gAvailablePokemonNames _08076D78: .4byte gUnknown_80F4EBC _08076D7C: ldr r1, _08076DA4 @@ -73823,7 +73823,7 @@ _08076E6E: .align 2, 0 _08076EA0: .4byte gUnknown_202DE58 _08076EA4: .4byte gUnknown_80FC0B8 -_08076EA8: .4byte gUnknown_202DF98 +_08076EA8: .4byte gAvailablePokemonNames _08076EAC: .4byte gUnknown_80FD550 _08076EB0: adds r0, r4, 0 @@ -73846,7 +73846,7 @@ _08076ECE: bl sub_80522F4 b _08076F6E .align 2, 0 -_08076EDC: .4byte gUnknown_202DF98 +_08076EDC: .4byte gAvailablePokemonNames _08076EE0: .4byte gUnknown_80FCA60 _08076EE4: ldr r7, [r4, 0x70] @@ -73866,7 +73866,7 @@ _08076EE4: bl strcpy b _08076F22 .align 2, 0 -_08076F0C: .4byte gUnknown_202DF98 +_08076F0C: .4byte gAvailablePokemonNames _08076F10: .4byte gUnknown_202DEA8 _08076F14: .4byte gUnknown_80FC0E4 _08076F18: @@ -73989,7 +73989,7 @@ _08076FE2: .align 2, 0 _08077008: .4byte gUnknown_202DE58 _0807700C: .4byte gUnknown_80FC09C -_08077010: .4byte gUnknown_202DF98 +_08077010: .4byte gAvailablePokemonNames _08077014: .4byte gUnknown_202DEA8 _08077018: .4byte gUnknown_80FC0E4 _0807701C: @@ -74075,7 +74075,7 @@ sub_8077084: bl strcpy b _080770DA .align 2, 0 -_080770C4: .4byte gUnknown_202DF98 +_080770C4: .4byte gAvailablePokemonNames _080770C8: .4byte gUnknown_202DE58 _080770CC: .4byte gUnknown_80FC0C8 _080770D0: @@ -74177,7 +74177,7 @@ sub_8077160: bl strcpy b _080771B6 .align 2, 0 -_080771A0: .4byte gUnknown_202DF98 +_080771A0: .4byte gAvailablePokemonNames _080771A4: .4byte gUnknown_202DE58 _080771A8: .4byte gUnknown_80FC0AC _080771AC: @@ -74319,7 +74319,7 @@ _080772B4: pop {r0} bx r0 .align 2, 0 -_080772BC: .4byte gUnknown_202DF98 +_080772BC: .4byte gAvailablePokemonNames thumb_func_end sub_8077274 thumb_func_start sub_80772C0 @@ -74387,7 +74387,7 @@ _08077320: .align 2, 0 _08077340: .4byte gUnknown_202DE58 _08077344: .4byte gUnknown_80FC0B8 -_08077348: .4byte gUnknown_202DF98 +_08077348: .4byte gAvailablePokemonNames _0807734C: .4byte gUnknown_80FD550 _08077350: adds r0, r5, 0 @@ -74414,7 +74414,7 @@ _08077376: bl sub_80522F4 b _08077422 .align 2, 0 -_08077384: .4byte gUnknown_202DF98 +_08077384: .4byte gAvailablePokemonNames _08077388: .4byte gUnknown_80FCA60 _0807738C: ldr r0, [r5, 0x70] @@ -74437,7 +74437,7 @@ _0807738C: bl sub_8041FD8 b _080773C4 .align 2, 0 -_080773B8: .4byte gUnknown_202DF98 +_080773B8: .4byte gAvailablePokemonNames _080773BC: adds r0, r5, 0 adds r1, r4, 0 @@ -74570,7 +74570,7 @@ _08077490: .align 2, 0 _080774BC: .4byte gUnknown_202DE58 _080774C0: .4byte gUnknown_80FC09C -_080774C4: .4byte gUnknown_202DF98 +_080774C4: .4byte gAvailablePokemonNames _080774C8: adds r0, r5, 0 adds r1, r4, 0 @@ -74662,7 +74662,7 @@ sub_8077540: bl strcpy b _0807758E .align 2, 0 -_08077578: .4byte gUnknown_202DF98 +_08077578: .4byte gAvailablePokemonNames _0807757C: .4byte gUnknown_202DE58 _08077580: .4byte gUnknown_80FC090 _08077584: @@ -74768,7 +74768,7 @@ _08077616: .align 2, 0 _08077654: .4byte gUnknown_202DE58 _08077658: .4byte gUnknown_80FC084 -_0807765C: .4byte gUnknown_202DF98 +_0807765C: .4byte gAvailablePokemonNames _08077660: .4byte gUnknown_80FCA64 _08077664: ldr r4, [r5, 0x70] @@ -74796,7 +74796,7 @@ _08077664: bl sub_80522F4 b _080776B0 .align 2, 0 -_0807769C: .4byte gUnknown_202DF98 +_0807769C: .4byte gAvailablePokemonNames _080776A0: .4byte gUnknown_80FC1A4 _080776A4: ldr r0, _080776BC @@ -74853,7 +74853,7 @@ sub_80776C0: bl sub_80522F4 b _08077776 .align 2, 0 -_08077710: .4byte gUnknown_202DF98 +_08077710: .4byte gAvailablePokemonNames _08077714: .4byte gUnknown_80FCC18 _08077718: ldr r6, [r4, 0x70] @@ -74885,7 +74885,7 @@ _08077718: bl sub_80522F4 b _08077770 .align 2, 0 -_08077758: .4byte gUnknown_202DF98 +_08077758: .4byte gAvailablePokemonNames _0807775C: .4byte gUnknown_80F4E3C _08077760: .4byte gUnknown_80FB2E0 _08077764: @@ -74956,7 +74956,7 @@ _080777D6: bl sub_80522F4 b _080778F0 .align 2, 0 -_080777E4: .4byte gUnknown_202DF98 +_080777E4: .4byte gAvailablePokemonNames _080777E8: .4byte gUnknown_80FCBF8 _080777EC: movs r6, 0x1 @@ -74998,7 +74998,7 @@ _080777EC: bl sub_8070774 b _0807785C .align 2, 0 -_08077844: .4byte gUnknown_202DF98 +_08077844: .4byte gAvailablePokemonNames _08077848: .4byte gUnknown_80F4E50 _0807784C: .4byte gUnknown_80FB2AC _08077850: @@ -75088,7 +75088,7 @@ _080778F0: .align 2, 0 _08077900: .4byte gUnknown_80FB2CC _08077904: .4byte gUnknown_80F4448 -_08077908: .4byte gUnknown_202DF98 +_08077908: .4byte gAvailablePokemonNames _0807790C: .4byte gUnknown_80FF01C thumb_func_end sub_8077780 @@ -75134,7 +75134,7 @@ _08077940: b _0807799E .align 2, 0 _08077964: .4byte gUnknown_80F4E40 -_08077968: .4byte gUnknown_202DF98 +_08077968: .4byte gAvailablePokemonNames _0807796C: .4byte gUnknown_80FC2B8 _08077970: movs r2, 0 @@ -75245,7 +75245,7 @@ sub_80779F0: ldr r0, _08077A4C b _08077AA2 .align 2, 0 -_08077A48: .4byte gUnknown_202DF98 +_08077A48: .4byte gAvailablePokemonNames _08077A4C: .4byte gUnknown_80FC2D8 _08077A50: movs r0, 0 @@ -75359,7 +75359,7 @@ sub_8077AE4: ldr r0, _08077B30 b _08077B48 .align 2, 0 -_08077B2C: .4byte gUnknown_202DF98 +_08077B2C: .4byte gAvailablePokemonNames _08077B30: .4byte gUnknown_80FD500 _08077B34: adds r0, r4, 0 @@ -75472,7 +75472,7 @@ sub_8077BB4: bl sub_80522F4 b _08077C34 .align 2, 0 -_08077C1C: .4byte gUnknown_202DF98 +_08077C1C: .4byte gAvailablePokemonNames _08077C20: .4byte gUnknown_80F4ECC _08077C24: .4byte gUnknown_80FB940 _08077C28: @@ -75608,7 +75608,7 @@ _08077CE8: b _08077D3A .align 2, 0 _08077D1C: .4byte gUnknown_202DE30 -_08077D20: .4byte gUnknown_202DF98 +_08077D20: .4byte gAvailablePokemonNames _08077D24: .4byte gUnknown_80FB204 _08077D28: mov r0, r8 @@ -75750,7 +75750,7 @@ _08077E3C: pop {r0} bx r0 .align 2, 0 -_08077E44: .4byte gUnknown_202DF98 +_08077E44: .4byte gAvailablePokemonNames _08077E48: .4byte gUnknown_80FAEA0 thumb_func_end sub_8077DDC @@ -75812,7 +75812,7 @@ _08077EC0: pop {r0} bx r0 .align 2, 0 -_08077EC8: .4byte gUnknown_202DF98 +_08077EC8: .4byte gAvailablePokemonNames _08077ECC: .4byte gUnknown_80FAEC8 thumb_func_end sub_8077E4C @@ -75864,7 +75864,7 @@ _08077F30: pop {r0} bx r0 .align 2, 0 -_08077F38: .4byte gUnknown_202DF98 +_08077F38: .4byte gAvailablePokemonNames _08077F3C: .4byte gUnknown_80FAFAC thumb_func_end sub_8077ED0 @@ -75931,7 +75931,7 @@ _08077F88: ldr r0, _08077FC4 b _0807801E .align 2, 0 -_08077FC0: .4byte gUnknown_202DF98 +_08077FC0: .4byte gAvailablePokemonNames _08077FC4: .4byte gPtrCantLeechSeedMonMessage _08077FC8: adds r6, r7, 0 @@ -76141,7 +76141,7 @@ _08078134: adds r3, r1, 0 b _0807818C .align 2, 0 -_0807816C: .4byte gUnknown_202DF98 +_0807816C: .4byte gAvailablePokemonNames _08078170: .4byte gUnknown_80FA79C _08078174: .4byte gUnknown_80F4EF0 _08078178: @@ -76229,7 +76229,7 @@ sub_80781DC: bl sub_80522F4 b _0807823C .align 2, 0 -_08078228: .4byte gUnknown_202DF98 +_08078228: .4byte gAvailablePokemonNames _0807822C: .4byte gUnknown_80FB73C _08078230: ldr r0, _08078248 @@ -76291,7 +76291,7 @@ sub_807824C: bl sub_80522F4 b _080782BC .align 2, 0 -_080782A8: .4byte gUnknown_202DF98 +_080782A8: .4byte gAvailablePokemonNames _080782AC: .4byte gUnknown_80FB780 _080782B0: ldr r0, _080782C8 @@ -76349,7 +76349,7 @@ sub_80782CC: bl sub_80522F4 b _08078338 .align 2, 0 -_08078320: .4byte gUnknown_202DF98 +_08078320: .4byte gAvailablePokemonNames _08078324: .4byte gUnknown_80F4EC4 _08078328: .4byte gUnknown_80FB8BC _0807832C: @@ -76408,7 +76408,7 @@ sub_8078348: bl sub_80522F4 b _080783B4 .align 2, 0 -_0807839C: .4byte gUnknown_202DF98 +_0807839C: .4byte gAvailablePokemonNames _080783A0: .4byte gUnknown_80F4EC8 _080783A4: .4byte gUnknown_80FB900 _080783A8: @@ -76474,7 +76474,7 @@ _080783FA: bl sub_80522F4 b _0807856A .align 2, 0 -_08078420: .4byte gUnknown_202DF98 +_08078420: .4byte gAvailablePokemonNames _08078424: .4byte gUnknown_80FB994 _08078428: movs r6, 0 @@ -76642,7 +76642,7 @@ _0807856A: .align 2, 0 _0807857C: .4byte gUnknown_203B418 _08078580: .4byte 0x000135cc -_08078584: .4byte gUnknown_202DF98 +_08078584: .4byte gAvailablePokemonNames _08078588: .4byte gUnknown_80F4ED0 _0807858C: .4byte 0x000037fc _08078590: .4byte gUnknown_80FB978 @@ -76725,7 +76725,7 @@ _0807861C: b _08078668 .align 2, 0 _08078634: .4byte gUnknown_80F4EA4 -_08078638: .4byte gUnknown_202DF98 +_08078638: .4byte gAvailablePokemonNames _0807863C: .4byte gUnknown_80FB004 _08078640: ldr r0, _08078674 @@ -76857,7 +76857,7 @@ _08078740: .4byte 0x000135cc _08078744: .4byte gUnknown_80F4EA8 _08078748: .4byte 0x00017b30 _0807874C: .4byte 0x00017b3c -_08078750: .4byte gUnknown_202DF98 +_08078750: .4byte gAvailablePokemonNames _08078754: .4byte gUnknown_80FB01C thumb_func_end sub_8078678 @@ -76907,7 +76907,7 @@ sub_8078758: bl sub_80522F4 b _080787D4 .align 2, 0 -_080787BC: .4byte gUnknown_202DF98 +_080787BC: .4byte gAvailablePokemonNames _080787C0: .4byte gUnknown_80F4ED8 _080787C4: .4byte gUnknown_80FB9F0 _080787C8: @@ -76964,7 +76964,7 @@ sub_80787E4: bl sub_80522F4 b _0807884C .align 2, 0 -_08078834: .4byte gUnknown_202DF98 +_08078834: .4byte gAvailablePokemonNames _08078838: .4byte gUnknown_202DE30 _0807883C: .4byte gUnknown_80FBA38 _08078840: @@ -77031,7 +77031,7 @@ _08078884: bl sub_80522F4 b _080788D8 .align 2, 0 -_080788C0: .4byte gUnknown_202DF98 +_080788C0: .4byte gAvailablePokemonNames _080788C4: .4byte gUnknown_80F4EE4 _080788C8: .4byte gUnknown_80FBA80 _080788CC: @@ -77092,7 +77092,7 @@ sub_80788E8: bl sub_80522F4 b _08078958 .align 2, 0 -_08078940: .4byte gUnknown_202DF98 +_08078940: .4byte gAvailablePokemonNames _08078944: .4byte gUnknown_80F4EEC _08078948: .4byte gUnknown_80FBB04 _0807894C: @@ -77178,7 +77178,7 @@ _080789BC: bl sub_80522F4 b _08078A4A .align 2, 0 -_080789E8: .4byte gUnknown_202DF98 +_080789E8: .4byte gAvailablePokemonNames _080789EC: .4byte gUnknown_80FBBD4 _080789F0: mov r0, r8 @@ -77285,7 +77285,7 @@ sub_8078A58: ldr r0, _08078AD4 b _08078B22 .align 2, 0 -_08078AD0: .4byte gUnknown_202DF98 +_08078AD0: .4byte gAvailablePokemonNames _08078AD4: .4byte gUnknown_80FBD9C _08078AD8: ldr r0, _08078ADC @@ -77327,7 +77327,7 @@ _08078B22: bl sub_80522F4 b _08078B44 .align 2, 0 -_08078B30: .4byte gUnknown_202DF98 +_08078B30: .4byte gAvailablePokemonNames _08078B34: .4byte gUnknown_80FBD78 _08078B38: ldr r0, _08078B58 @@ -77496,7 +77496,7 @@ _08078C5E: .align 2, 0 _08078C8C: .4byte 0x000003e7 _08078C90: .4byte gUnknown_80FBE64 -_08078C94: .4byte gUnknown_202DF98 +_08078C94: .4byte gAvailablePokemonNames _08078C98: .4byte gUnknown_80FBDF0 _08078C9C: adds r0, r6, 0 @@ -77511,7 +77511,7 @@ _08078C9C: ldr r0, _08078CBC b _08078D4E .align 2, 0 -_08078CB8: .4byte gUnknown_202DF98 +_08078CB8: .4byte gAvailablePokemonNames _08078CBC: .4byte gUnknown_80FBDC4 _08078CC0: movs r0, 0x9E @@ -77561,7 +77561,7 @@ _08078CFA: b _08078D4E .align 2, 0 _08078D28: .4byte 0x000003e7 -_08078D2C: .4byte gUnknown_202DF98 +_08078D2C: .4byte gAvailablePokemonNames _08078D30: .4byte gUnknown_80FBE14 _08078D34: ldr r0, [r5] @@ -77654,7 +77654,7 @@ sub_8078D8C: bl sub_80522F4 b _08078E08 .align 2, 0 -_08078DF0: .4byte gUnknown_202DF98 +_08078DF0: .4byte gAvailablePokemonNames _08078DF4: .4byte gUnknown_80F4F1C _08078DF8: .4byte gUnknown_80FBF68 _08078DFC: @@ -77762,7 +77762,7 @@ _08078EC0: bl sub_80522F4 b _08078F2E .align 2, 0 -_08078ECC: .4byte gUnknown_202DF98 +_08078ECC: .4byte gAvailablePokemonNames _08078ED0: .4byte gUnknown_80FBEE4 _08078ED4: strh r4, [r7, 0x4] @@ -77866,7 +77866,7 @@ _08078F78: bl sub_80522F4 b _08078FCC .align 2, 0 -_08078FB4: .4byte gUnknown_202DF98 +_08078FB4: .4byte gAvailablePokemonNames _08078FB8: .4byte gUnknown_80F4F04 _08078FBC: .4byte gUnknown_80FBF28 _08078FC0: @@ -77952,7 +77952,7 @@ _0807904C: bl sub_80522F4 b _080790B6 .align 2, 0 -_08079064: .4byte gUnknown_202DF98 +_08079064: .4byte gAvailablePokemonNames _08079068: .4byte gUnknown_80FC000 _0807906C: .4byte gUnknown_80FBFB8 _08079070: @@ -78107,7 +78107,7 @@ sub_8079140: bl sub_8040A84 b _080791C8 .align 2, 0 -_080791B0: .4byte gUnknown_202DF98 +_080791B0: .4byte gAvailablePokemonNames _080791B4: .4byte gUnknown_80F4F08 _080791B8: .4byte gUnknown_80FB7F4 _080791BC: @@ -78177,7 +78177,7 @@ sub_80791D8: bl sub_8040A84 b _08079260 .align 2, 0 -_08079248: .4byte gUnknown_202DF98 +_08079248: .4byte gAvailablePokemonNames _0807924C: .4byte gUnknown_80FB834 _08079250: .4byte gUnknown_80F4F0C _08079254: @@ -78240,7 +78240,7 @@ sub_8079270: bl sub_8040A84 b _080792E8 .align 2, 0 -_080792D0: .4byte gUnknown_202DF98 +_080792D0: .4byte gAvailablePokemonNames _080792D4: .4byte gUnknown_80F4F10 _080792D8: .4byte gUnknown_80FB880 _080792DC: @@ -78392,7 +78392,7 @@ _080793DE: bl sub_80522F4 b _08079410 .align 2, 0 -_080793FC: .4byte gUnknown_202DF98 +_080793FC: .4byte gAvailablePokemonNames _08079400: .4byte gUnknown_80FC33C _08079404: ldr r0, _0807941C @@ -78449,7 +78449,7 @@ _0807944E: bl sub_80522F4 b _08079480 .align 2, 0 -_0807946C: .4byte gUnknown_202DF98 +_0807946C: .4byte gAvailablePokemonNames _08079470: .4byte gUnknown_80FC388 _08079474: ldr r0, _0807948C @@ -78506,7 +78506,7 @@ _080794BE: bl sub_80522F4 b _080794F0 .align 2, 0 -_080794DC: .4byte gUnknown_202DF98 +_080794DC: .4byte gAvailablePokemonNames _080794E0: .4byte gUnknown_80FC3D8 _080794E4: ldr r0, _080794FC @@ -78563,7 +78563,7 @@ _0807952E: bl sub_80522F4 b _08079560 .align 2, 0 -_0807954C: .4byte gUnknown_202DF98 +_0807954C: .4byte gAvailablePokemonNames _08079550: .4byte gUnknown_80FC428 _08079554: ldr r0, _0807956C @@ -78703,7 +78703,7 @@ _08079638: bl sub_80522F4 b _08079752 .align 2, 0 -_08079660: .4byte gUnknown_202DF98 +_08079660: .4byte gAvailablePokemonNames _08079664: .4byte gUnknown_80FC074 _08079668: adds r0, r5, 0 @@ -78901,7 +78901,7 @@ sub_80797A0: bl sub_80522F4 b _08079822 .align 2, 0 -_080797E0: .4byte gUnknown_202DF98 +_080797E0: .4byte gAvailablePokemonNames _080797E4: .4byte gUnknown_80FB10C _080797E8: adds r0, r4, 0 @@ -78980,7 +78980,7 @@ sub_8079834: bl sub_80522F4 b _080798A0 .align 2, 0 -_08079888: .4byte gUnknown_202DF98 +_08079888: .4byte gAvailablePokemonNames _0807988C: .4byte gUnknown_80F4E88 _08079890: .4byte gUnknown_80FB048 _08079894: @@ -79039,7 +79039,7 @@ sub_80798B0: bl sub_80522F4 b _0807991C .align 2, 0 -_08079904: .4byte gUnknown_202DF98 +_08079904: .4byte gAvailablePokemonNames _08079908: .4byte gUnknown_80F4E8C _0807990C: .4byte gUnknown_80FB09C _08079910: @@ -79098,7 +79098,7 @@ sub_807992C: bl sub_80522F4 b _08079998 .align 2, 0 -_08079980: .4byte gUnknown_202DF98 +_08079980: .4byte gAvailablePokemonNames _08079984: .4byte gUnknown_80F4EB4 _08079988: .4byte gUnknown_80FAE1C _0807998C: @@ -79157,7 +79157,7 @@ sub_80799A8: bl sub_80522F4 b _08079A14 .align 2, 0 -_080799FC: .4byte gUnknown_202DF98 +_080799FC: .4byte gAvailablePokemonNames _08079A00: .4byte gUnknown_80F4E90 _08079A04: .4byte gUnknown_80FAF5C _08079A08: @@ -79216,7 +79216,7 @@ sub_8079A24: bl sub_80522F4 b _08079A90 .align 2, 0 -_08079A78: .4byte gUnknown_202DF98 +_08079A78: .4byte gAvailablePokemonNames _08079A7C: .4byte gUnknown_80F4E84 _08079A80: .4byte gUnknown_80FB130 _08079A84: @@ -79275,7 +79275,7 @@ sub_8079AA0: bl sub_80522F4 b _08079B0C .align 2, 0 -_08079AF4: .4byte gUnknown_202DF98 +_08079AF4: .4byte gAvailablePokemonNames _08079AF8: .4byte gUnknown_80F4E80 _08079AFC: .4byte gUnknown_80FB17C _08079B00: @@ -79335,7 +79335,7 @@ sub_8079B1C: b _08079B92 .align 2, 0 _08079B70: .4byte gUnknown_80F4ED4 -_08079B74: .4byte gUnknown_202DF98 +_08079B74: .4byte gAvailablePokemonNames _08079B78: .4byte gUnknown_80FB9B0 _08079B7C: ldr r0, _08079BA0 @@ -79355,7 +79355,7 @@ _08079B98: pop {r0} bx r0 .align 2, 0 -_08079BA0: .4byte gUnknown_202DF98 +_08079BA0: .4byte gAvailablePokemonNames _08079BA4: .4byte gUnknown_80FB9D8 thumb_func_end sub_8079B1C @@ -79398,7 +79398,7 @@ sub_8079BA8: bl sub_80522F4 b _08079C14 .align 2, 0 -_08079BFC: .4byte gUnknown_202DF98 +_08079BFC: .4byte gAvailablePokemonNames _08079C00: .4byte gUnknown_80F4EE8 _08079C04: .4byte gUnknown_80FBAC0 _08079C08: @@ -79457,7 +79457,7 @@ sub_8079C24: bl sub_80522F4 b _08079C90 .align 2, 0 -_08079C78: .4byte gUnknown_202DF98 +_08079C78: .4byte gAvailablePokemonNames _08079C7C: .4byte gUnknown_80F4EF8 _08079C80: .4byte gUnknown_80FBBF0 _08079C84: @@ -79516,7 +79516,7 @@ sub_8079CA0: bl sub_80522F4 b _08079D0C .align 2, 0 -_08079CF4: .4byte gUnknown_202DF98 +_08079CF4: .4byte gAvailablePokemonNames _08079CF8: .4byte gUnknown_80F4F18 _08079CFC: .4byte gUnknown_80FBC38 _08079D00: @@ -79590,7 +79590,7 @@ _08079D50: bl sub_80522F4 b _08079DA8 .align 2, 0 -_08079D90: .4byte gUnknown_202DF98 +_08079D90: .4byte gAvailablePokemonNames _08079D94: .4byte gUnknown_80F4F20 _08079D98: .4byte gUnknown_80FBC7C _08079D9C: @@ -79649,7 +79649,7 @@ sub_8079DB8: bl sub_80522F4 b _08079E24 .align 2, 0 -_08079E0C: .4byte gUnknown_202DF98 +_08079E0C: .4byte gAvailablePokemonNames _08079E10: .4byte gUnknown_80F4F24 _08079E14: .4byte gUnknown_80FBCC8 _08079E18: @@ -79771,7 +79771,7 @@ _08079ED8: bl sub_80522F4 b _08079F08 .align 2, 0 -_08079EF4: .4byte gUnknown_202DF98 +_08079EF4: .4byte gAvailablePokemonNames _08079EF8: .4byte gUnknown_80FBD18 _08079EFC: ldr r0, _08079F1C @@ -80087,7 +80087,7 @@ _0807A166: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0807A170: .4byte gUnknown_202DF98 +_0807A170: .4byte gAvailablePokemonNames _0807A174: .4byte _0807A178 .align 2, 0 _0807A178: @@ -80244,7 +80244,7 @@ sub_807A290: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0807A2C4: .4byte gUnknown_202DF98 +_0807A2C4: .4byte gAvailablePokemonNames _0807A2C8: .4byte _0807A2CC .align 2, 0 _0807A2CC: @@ -80317,7 +80317,7 @@ sub_807A324: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0807A358: .4byte gUnknown_202DF98 +_0807A358: .4byte gAvailablePokemonNames _0807A35C: .4byte _0807A360 .align 2, 0 _0807A360: @@ -80419,7 +80419,7 @@ sub_807A400: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0807A434: .4byte gUnknown_202DF98 +_0807A434: .4byte gAvailablePokemonNames _0807A438: .4byte _0807A43C .align 2, 0 _0807A43C: @@ -80517,7 +80517,7 @@ _0807A4DA: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0807A4FC: .4byte gUnknown_202DF98 +_0807A4FC: .4byte gAvailablePokemonNames _0807A500: .4byte _0807A504 .align 2, 0 _0807A504: @@ -80648,7 +80648,7 @@ sub_807A5D0: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0807A604: .4byte gUnknown_202DF98 +_0807A604: .4byte gAvailablePokemonNames _0807A608: .4byte _0807A60C .align 2, 0 _0807A60C: @@ -80731,7 +80731,7 @@ _0807A6B2: .align 2, 0 _0807A6B8: .4byte gUnknown_203B418 _0807A6BC: .4byte 0x000037fc -_0807A6C0: .4byte gUnknown_202DF98 +_0807A6C0: .4byte gAvailablePokemonNames _0807A6C4: .4byte gUnknown_80FA9A0 thumb_func_end sub_807A5D0 @@ -80760,7 +80760,7 @@ sub_807A6C8: beq _0807A70C b _0807A716 .align 2, 0 -_0807A6F8: .4byte gUnknown_202DF98 +_0807A6F8: .4byte gAvailablePokemonNames _0807A6FC: ldr r0, _0807A708 ldr r1, [r0] @@ -80817,7 +80817,7 @@ sub_807A734: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0807A764: .4byte gUnknown_202DF98 +_0807A764: .4byte gAvailablePokemonNames _0807A768: .4byte _0807A76C .align 2, 0 _0807A76C: @@ -80892,7 +80892,7 @@ sub_807A7C8: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0807A7FC: .4byte gUnknown_202DF98 +_0807A7FC: .4byte gAvailablePokemonNames _0807A800: .4byte _0807A804 .align 2, 0 _0807A804: @@ -80981,7 +80981,7 @@ sub_807A888: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0807A8B8: .4byte gUnknown_202DF98 +_0807A8B8: .4byte gAvailablePokemonNames _0807A8BC: .4byte _0807A8C0 .align 2, 0 _0807A8C0: @@ -81063,7 +81063,7 @@ _0807A95C: pop {r0} bx r0 .align 2, 0 -_0807A964: .4byte gUnknown_202DF98 +_0807A964: .4byte gAvailablePokemonNames _0807A968: .4byte gUnknown_80FABC0 thumb_func_end sub_807A924 @@ -81165,7 +81165,7 @@ _0807AA20: pop {r0} bx r0 .align 2, 0 -_0807AA28: .4byte gUnknown_202DF98 +_0807AA28: .4byte gAvailablePokemonNames _0807AA2C: .4byte gUnknown_80FA8BC thumb_func_end sub_807A9D8 @@ -85668,7 +85668,7 @@ _0807CC08: b _0807CC3C .align 2, 0 _0807CC20: .4byte 0xffffff00 -_0807CC24: .4byte gUnknown_202DF98 +_0807CC24: .4byte gAvailablePokemonNames _0807CC28: .4byte gUnknown_80FC714 _0807CC2C: cmp r0, 0x7 @@ -85684,7 +85684,7 @@ _0807CC3C: bl sub_80522A8 b _0807CCDC .align 2, 0 -_0807CC48: .4byte gUnknown_202DF98 +_0807CC48: .4byte gAvailablePokemonNames _0807CC4C: .4byte gUnknown_80FC718 _0807CC50: adds r0, r7, 0 @@ -85737,7 +85737,7 @@ _0807CC84: bl sub_8055FA0 b _0807CCDE .align 2, 0 -_0807CCB8: .4byte gUnknown_202DF98 +_0807CCB8: .4byte gAvailablePokemonNames _0807CCBC: .4byte gUnknown_80FC6A8 _0807CCC0: mov r3, r9 @@ -85882,7 +85882,7 @@ _0807CDC4: adds r0, r6, 0 b _0807CE02 .align 2, 0 -_0807CDDC: .4byte gUnknown_202DF98 +_0807CDDC: .4byte gAvailablePokemonNames _0807CDE0: .4byte gUnknown_80FCA10 _0807CDE4: ldr r0, _0807CE0C @@ -85904,7 +85904,7 @@ _0807CE02: bl sub_80522F4 b _0807D02A .align 2, 0 -_0807CE0C: .4byte gUnknown_202DF98 +_0807CE0C: .4byte gAvailablePokemonNames _0807CE10: .4byte gUnknown_80FCBCC _0807CE14: str r0, [sp, 0x28] @@ -86324,7 +86324,7 @@ sub_807D148: ldr r0, _0807D184 b _0807D194 .align 2, 0 -_0807D180: .4byte gUnknown_202DF98 +_0807D180: .4byte gAvailablePokemonNames _0807D184: .4byte gUnknown_80FCAE8 _0807D188: bl sub_80441E8 @@ -87416,7 +87416,7 @@ sub_807DA14: ldr r0, _0807DA4C b _0807DA5C .align 2, 0 -_0807DA48: .4byte gUnknown_202DF98 +_0807DA48: .4byte gAvailablePokemonNames _0807DA4C: .4byte gUnknown_80FCB98 _0807DA50: bl sub_80441E8 @@ -88086,7 +88086,7 @@ _0807DF8E: .align 2, 0 _0807DFA8: .4byte gUnknown_203B418 _0807DFAC: .4byte 0x000135cc -_0807DFB0: .4byte gUnknown_202DF98 +_0807DFB0: .4byte gAvailablePokemonNames _0807DFB4: mov r0, r10 bl sub_807E580 @@ -88317,7 +88317,7 @@ _0807E174: pop {r0} bx r0 .align 2, 0 -_0807E184: .4byte gUnknown_202DF98 +_0807E184: .4byte gAvailablePokemonNames _0807E188: .4byte gUnknown_80F96BC _0807E18C: .4byte gUnknown_8107178 _0807E190: .4byte 0xffff0000 @@ -88431,7 +88431,7 @@ sub_807E254: adds r1, r6, 0 b _0807E286 .align 2, 0 -_0807E270: .4byte gUnknown_202DF98 +_0807E270: .4byte gAvailablePokemonNames _0807E274: adds r0, r7, 0 movs r1, 0xE @@ -88451,7 +88451,7 @@ _0807E286: bl sub_80522F4 b _0807E366 .align 2, 0 -_0807E29C: .4byte gUnknown_202DF98 +_0807E29C: .4byte gAvailablePokemonNames _0807E2A0: .4byte gUnknown_80FCAC0 _0807E2A4: ldrh r1, [r6, 0x6] @@ -89171,7 +89171,7 @@ _0807E866: _0807E874: .4byte gUnknown_203B418 _0807E878: .4byte 0x000181f8 _0807E87C: .4byte 0x0001356c -_0807E880: .4byte gUnknown_202DF98 +_0807E880: .4byte gAvailablePokemonNames _0807E884: .4byte gUnknown_80FC5E0 _0807E888: .4byte 0x000135cc thumb_func_end sub_807E7FC @@ -90666,7 +90666,7 @@ sub_807F43C: ldr r0, _0807F46C b _0807F694 .align 2, 0 -_0807F468: .4byte gUnknown_202DF98 +_0807F468: .4byte gAvailablePokemonNames _0807F46C: .4byte gUnknown_80FCB40 _0807F470: ldr r0, [sp, 0xEC] @@ -90681,7 +90681,7 @@ _0807F470: mov r0, r8 b _0807F698 .align 2, 0 -_0807F488: .4byte gUnknown_202DF98 +_0807F488: .4byte gAvailablePokemonNames _0807F48C: .4byte gUnknown_80FCB70 _0807F490: mov r1, r8 @@ -91163,7 +91163,7 @@ _0807F7FC: bl sub_807F9BC b _0807F99C .align 2, 0 -_0807F860: .4byte gUnknown_202DF98 +_0807F860: .4byte gAvailablePokemonNames _0807F864: .4byte gUnknown_80FE690 _0807F868: .4byte 0x000001a3 _0807F86C: .4byte gUnknown_80F4448 @@ -92072,7 +92072,7 @@ _0807FF50: bge _0807FF70 b _0807FF6C .align 2, 0 -_0807FF58: .4byte gUnknown_202DF98 +_0807FF58: .4byte gAvailablePokemonNames _0807FF5C: .4byte gUnknown_80FDB5C _0807FF60: .4byte gUnknown_203B418 _0807FF64: .4byte 0x0001820f @@ -92897,7 +92897,7 @@ _080805C4: bl sub_80522F4 b _080805F6 .align 2, 0 -_080805E4: .4byte gUnknown_202DF98 +_080805E4: .4byte gAvailablePokemonNames _080805E8: .4byte gUnknown_80F970C _080805EC: ldr r0, _08080618 @@ -99478,7 +99478,7 @@ _08083AE4: bl sub_80709C8 adds r0, r4, 0 mov r1, sp - bl sub_80922F4 + bl CopyStringtoBuffer b _08083B0E .align 2, 0 _08083AFC: .4byte gUnknown_203B418 @@ -99487,7 +99487,7 @@ _08083B04: ldr r0, _08083C04 ldr r1, [r0] adds r0, r4, 0 - bl sub_80922F4 + bl CopyStringtoBuffer _08083B0E: mov r0, sp adds r1, r5, 0 @@ -99495,7 +99495,7 @@ _08083B0E: adds r0, r4, 0 adds r0, 0xA mov r1, sp - bl sub_80922F4 + bl CopyStringtoBuffer movs r2, 0 mov r3, r8 strh r3, [r4, 0x14] @@ -100776,7 +100776,7 @@ sub_8084448: ldr r0, _08084480 b _080844F0 .align 2, 0 -_0808447C: .4byte gUnknown_202DF98 +_0808447C: .4byte gAvailablePokemonNames _08084480: .4byte gUnknown_80FA464 _08084484: ldr r4, _080844FC @@ -100970,7 +100970,7 @@ sub_80845E0: ldr r0, _08084624 b _080846B4 .align 2, 0 -_08084620: .4byte gUnknown_202DF98 +_08084620: .4byte gAvailablePokemonNames _08084624: .4byte gUnknown_80FA530 _08084628: adds r7, r4, 0 @@ -105524,11 +105524,11 @@ sub_8086B14: ldr r4, _08086B90 adds r0, r4, 0 movs r1, 0x32 - bl sub_808D8BC + bl CopySpeciesNametoBuffer adds r4, 0x50 adds r0, r4, 0 movs r1, 0xFC - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r3} mov r8, r3 pop {r4-r6} @@ -105889,15 +105889,15 @@ sub_8086E9C: ldr r4, _08086EFC adds r0, r4, 0 movs r1, 0xB - bl sub_808D8BC + bl CopySpeciesNametoBuffer adds r0, r4, 0 adds r0, 0x50 movs r1, 0x5E - bl sub_808D8BC + bl CopySpeciesNametoBuffer adds r4, 0xA0 adds r0, r4, 0 movs r1, 0xA - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4,r5} pop {r0} bx r0 @@ -105925,15 +105925,15 @@ sub_8086F00: ldr r4, _08086F50 adds r0, r4, 0 movs r1, 0xB - bl sub_808D8BC + bl CopySpeciesNametoBuffer adds r0, r4, 0 adds r0, 0x50 movs r1, 0x5E - bl sub_808D8BC + bl CopySpeciesNametoBuffer adds r4, 0xA0 adds r0, r4, 0 movs r1, 0xA - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4} pop {r0} bx r0 @@ -106287,11 +106287,11 @@ sub_8087230: movs r1, 0x96 lsls r1, 1 adds r0, r4, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer adds r4, 0x50 adds r0, r4, 0 movs r1, 0x91 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4-r6} pop {r0} bx r0 @@ -106354,11 +106354,11 @@ _08087300: movs r1, 0x96 lsls r1, 1 adds r0, r4, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer adds r4, 0x50 adds r0, r4, 0 movs r1, 0x91 - bl sub_808D8BC + bl CopySpeciesNametoBuffer add sp, 0x4 pop {r4-r6} pop {r0} @@ -106915,7 +106915,7 @@ sub_80877E8: bl sub_8085860 ldr r0, _08087844 movs r1, 0x92 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4-r6} pop {r0} bx r0 @@ -106986,7 +106986,7 @@ _080878B4: bl sub_803F878 ldr r0, _080878F0 movs r1, 0x92 - bl sub_808D8BC + bl CopySpeciesNametoBuffer add sp, 0x4 pop {r4-r6} pop {r0} @@ -107716,7 +107716,7 @@ sub_8087F54: bl sub_8085860 ldr r0, _08087FB0 movs r1, 0x90 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4-r6} pop {r0} bx r0 @@ -107746,7 +107746,7 @@ sub_8087FB4: bl sub_806CDD4 ldr r0, _08087FF4 movs r1, 0x90 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4} pop {r0} bx r0 @@ -107807,7 +107807,7 @@ _08088060: bl sub_8085860 ldr r0, _08088084 movs r1, 0x90 - bl sub_808D8BC + bl CopySpeciesNametoBuffer add sp, 0x4 pop {r4-r6} pop {r0} @@ -108467,11 +108467,11 @@ sub_808862C: ldr r4, _080886BC ldr r1, _080886C0 adds r0, r4, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer adds r4, 0x50 adds r0, r4, 0 movs r1, 0x41 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r3} mov r8, r3 pop {r4-r6} @@ -108527,11 +108527,11 @@ sub_80886C4: ldr r4, _08088754 ldr r1, _08088758 adds r0, r4, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer adds r4, 0x50 adds r0, r4, 0 movs r1, 0x41 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4-r6} pop {r0} bx r0 @@ -108606,11 +108606,11 @@ _080887E0: ldr r4, _08088810 ldr r1, _08088814 adds r0, r4, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer adds r4, 0x50 adds r0, r4, 0 movs r1, 0x41 - bl sub_808D8BC + bl CopySpeciesNametoBuffer add sp, 0x4 pop {r4-r7} pop {r0} @@ -109257,11 +109257,11 @@ sub_8088DC0: ldr r4, _08088E54 ldr r1, _08088E58 adds r0, r4, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer adds r4, 0x50 adds r0, r4, 0 movs r1, 0x41 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r3} mov r8, r3 pop {r4-r6} @@ -109316,11 +109316,11 @@ sub_8088E5C: ldr r4, _08088EE0 ldr r1, _08088EE4 adds r0, r4, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer adds r4, 0x50 adds r0, r4, 0 movs r1, 0x41 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r3} mov r8, r3 pop {r4-r6} @@ -109789,7 +109789,7 @@ sub_80892C8: ldr r0, _08089324 movs r1, 0xCE lsls r1, 1 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4-r6} pop {r0} bx r0 @@ -109851,7 +109851,7 @@ _0808938C: ldr r0, _080893B0 movs r1, 0xCE lsls r1, 1 - bl sub_808D8BC + bl CopySpeciesNametoBuffer add sp, 0x4 pop {r4-r6} pop {r0} @@ -110484,7 +110484,7 @@ sub_8089914: bl sub_8085860 ldr r0, _08089974 movs r1, 0x96 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4-r6} pop {r0} bx r0 @@ -110543,7 +110543,7 @@ _080899DA: bl sub_8085860 ldr r0, _080899FC movs r1, 0x96 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4-r6} pop {r0} bx r0 @@ -110832,7 +110832,7 @@ sub_8089C44: bl sub_8085860 ldr r0, _08089C88 ldr r1, _08089C8C - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4,r5} pop {r0} bx r0 @@ -110879,7 +110879,7 @@ _08089CD8: bl sub_8085860 ldr r0, _08089CF4 ldr r1, _08089CF8 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4,r5} pop {r0} bx r0 @@ -111136,7 +111136,7 @@ sub_8089EFC: ldr r0, _08089F40 movs r1, 0x86 lsls r1, 1 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4,r5} pop {r0} bx r0 @@ -111168,7 +111168,7 @@ sub_8089F44: ldr r0, _08089F88 movs r1, 0x86 lsls r1, 1 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4,r5} pop {r0} bx r0 @@ -111214,7 +111214,7 @@ _08089FD0: ldr r0, _08089FEC movs r1, 0x86 lsls r1, 1 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4,r5} pop {r0} bx r0 @@ -111516,7 +111516,7 @@ sub_808A264: ldr r0, _0808A2BC movs r1, 0x87 lsls r1, 1 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4-r6} pop {r0} bx r0 @@ -111549,7 +111549,7 @@ sub_808A2C0: ldr r0, _0808A304 movs r1, 0x87 lsls r1, 1 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4,r5} pop {r0} bx r0 @@ -111595,7 +111595,7 @@ _0808A34C: ldr r0, _0808A368 movs r1, 0x87 lsls r1, 1 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4,r5} pop {r0} bx r0 @@ -111926,7 +111926,7 @@ sub_808A608: bl sub_8085860 ldr r0, _0808A660 ldr r1, _0808A664 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4,r5} pop {r0} bx r0 @@ -111981,7 +111981,7 @@ _0808A6C2: bl sub_8085860 ldr r0, _0808A6E0 ldr r1, _0808A6E4 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4,r5} pop {r0} bx r0 @@ -112342,7 +112342,7 @@ sub_808A9E4: bl sub_8085860 ldr r0, _0808AA34 ldr r1, _0808AA38 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4,r5} pop {r0} bx r0 @@ -112378,7 +112378,7 @@ sub_808AA3C: bl sub_8085860 ldr r0, _0808AA8C ldr r1, _0808AA90 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4,r5} pop {r0} bx r0 @@ -112416,7 +112416,7 @@ sub_808AA94: bl sub_8085860 ldr r0, _0808AAE8 ldr r1, _0808AAEC - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4,r5} pop {r0} bx r0 @@ -112680,7 +112680,7 @@ _0808AD1E: bl sub_80855E4 ldr r0, _0808AD44 adds r1, r4, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer _0808AD38: pop {r4} pop {r0} @@ -112739,7 +112739,7 @@ _0808ADA4: bl sub_80855E4 ldr r0, _0808ADC8 adds r1, r4, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer _0808ADBE: pop {r4} pop {r0} @@ -112799,7 +112799,7 @@ _0808AE2A: bl sub_80855E4 ldr r0, _0808AE50 adds r1, r4, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer _0808AE44: pop {r4} pop {r0} @@ -113016,7 +113016,7 @@ _0808B01E: pop {r0} bx r0 .align 2, 0 -_0808B028: .4byte gUnknown_202DF98 +_0808B028: .4byte gAvailablePokemonNames _0808B02C: .4byte gUnknown_81050B4 thumb_func_end sub_808AFB0 @@ -113071,7 +113071,7 @@ _0808B09E: pop {r0} bx r0 .align 2, 0 -_0808B0A8: .4byte gUnknown_202DF98 +_0808B0A8: .4byte gAvailablePokemonNames _0808B0AC: .4byte gUnknown_810517C thumb_func_end sub_808B030 @@ -113126,7 +113126,7 @@ _0808B11E: pop {r0} bx r0 .align 2, 0 -_0808B128: .4byte gUnknown_202DF98 +_0808B128: .4byte gAvailablePokemonNames _0808B12C: .4byte gUnknown_8105244 thumb_func_end sub_808B0B0 @@ -113391,7 +113391,7 @@ sub_808B2F4: bl sub_8085860 ldr r0, _0808B354 ldr r1, _0808B358 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4-r6} pop {r0} bx r0 @@ -113448,7 +113448,7 @@ _0808B3BE: bl sub_8085860 ldr r0, _0808B3DC ldr r1, _0808B3E0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4-r6} pop {r0} bx r0 @@ -113594,7 +113594,7 @@ sub_808B50C: adds r5, r0, 0 ldr r0, _0808B59C ldr r1, _0808B5A0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer ldr r4, _0808B5A4 adds r0, r4, 0 bl sub_80855E4 @@ -113668,7 +113668,7 @@ JirachiWish: adds r6, r0, 0 ldr r0, _0808B82C ldr r1, _0808B830 - bl sub_808D8BC + bl CopySpeciesNametoBuffer ldr r4, _0808B834 adds r0, r4, 0 bl sub_80855E4 @@ -114140,7 +114140,7 @@ _0808B9F8: _0808BA30: .4byte gUnknown_8105AD4 _0808BA34: .4byte 0x0000015d _0808BA38: .4byte gUnknown_8105B20 -_0808BA3C: .4byte gUnknown_202DF98 +_0808BA3C: .4byte gAvailablePokemonNames _0808BA40: .4byte gUnknown_202DE58 _0808BA44: .4byte gUnknown_8105B68 _0808BA48: .4byte gUnknown_8105BA8 @@ -114631,7 +114631,7 @@ _0808BE48: ldr r0, _0808BE6C movs r1, 0x89 lsls r1, 1 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4,r5} pop {r0} bx r0 @@ -114985,11 +114985,11 @@ _0808C156: movs r1, 0xCD lsls r1, 1 adds r0, r4, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer adds r4, 0x50 ldr r1, _0808C1A0 adds r0, r4, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4,r5} pop {r0} bx r0 @@ -115263,7 +115263,7 @@ _0808C3EA: ldr r0, _0808C410 movs r1, 0xCF lsls r1, 1 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4} pop {r0} bx r0 @@ -115510,7 +115510,7 @@ sub_808C5C0: ldr r0, _0808C620 movs r1, 0x8A lsls r1, 1 - bl sub_808D8BC + bl CopySpeciesNametoBuffer pop {r4,r5} pop {r0} bx r0 diff --git a/asm/code_808EAB0.s b/asm/code_808EAB0.s index 2223eea..8838f83 100644 --- a/asm/code_808EAB0.s +++ b/asm/code_808EAB0.s @@ -1518,11 +1518,11 @@ sub_808F734: add r4, sp, 0x4C ldr r5, _0808F794 adds r0, r5, 0 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 adds r0, r4, 0 movs r2, 0xA - bl sub_8092310 + bl BoundedCopyStringtoBuffer mov r0, sp adds r1, r5, 0 bl sub_808F798 @@ -1586,10 +1586,10 @@ _0808F7DA: _0808F7EA: add r4, sp, 0x64 adds r0, r6, 0 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 adds r0, r4, 0 - bl sub_80922F4 + bl CopyStringtoBuffer movs r2, 0 b _0808F800 _0808F7FE: @@ -1612,11 +1612,11 @@ _0808F816: beq _0808F82E add r4, sp, 0x4C adds r0, r5, 0 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 adds r0, r4, 0 movs r2, 0xA - bl sub_8092310 + bl BoundedCopyStringtoBuffer _0808F82E: mov r0, sp bl sub_808D1DC @@ -1664,7 +1664,7 @@ _0808F874: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808F880: .4byte gUnknown_202DF98 +_0808F880: .4byte gAvailablePokemonNames _0808F884: .4byte _0808F888 .align 2, 0 _0808F888: @@ -1976,7 +1976,7 @@ _0808FB28: .4byte gUnknown_810DE58 _0808FB2C: .4byte gUnknown_810DE6C _0808FB30: .4byte gUnknown_202DE30 _0808FB34: .4byte gUnknown_8115718 -_0808FB38: .4byte gUnknown_202DF98 +_0808FB38: .4byte gAvailablePokemonNames _0808FB3C: .4byte gUnknown_810DE80 _0808FB40: .4byte gUnknown_810DE98 _0808FB44: @@ -2289,7 +2289,7 @@ _0808FDB0: movs r3, 0 ldrsh r1, [r2, r3] adds r0, r6, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer ldr r1, _0808FEF4 mov r2, r10 movs r3, 0 @@ -2419,7 +2419,7 @@ _0808FED6: bx r0 .align 2, 0 _0808FEEC: .4byte gUnknown_8107798 -_0808FEF0: .4byte gUnknown_202DF98 +_0808FEF0: .4byte gAvailablePokemonNames _0808FEF4: .4byte gUnknown_202DE30 _0808FEF8: .4byte gUnknown_810DEB4 _0808FEFC: .4byte gUnknown_202DE58 diff --git a/asm/code_809017C.s b/asm/code_809017C.s index f155cb0..7a79b2c 100644 --- a/asm/code_809017C.s +++ b/asm/code_809017C.s @@ -442,7 +442,7 @@ _0809048E: b _080904BA .align 2, 0 _080904AC: .4byte gUnknown_8115ADC -_080904B0: .4byte gUnknown_202DF98 +_080904B0: .4byte gAvailablePokemonNames _080904B4: .4byte gUnknown_8115B3C _080904B8: ldr r0, _08090528 @@ -4302,7 +4302,7 @@ sub_8092094: ldr r0, [r4] ldr r1, _080920B4 movs r2, 0xA - bl sub_8092310 + bl BoundedCopyStringtoBuffer ldr r1, [r4] movs r0, 0 str r0, [r1, 0xC] @@ -4467,8 +4467,8 @@ _080921A2: bx r1 thumb_func_end sub_8092178 - thumb_func_start sub_80921A8 -sub_80921A8: + thumb_func_start GetTeamRankString +GetTeamRankString: lsls r0, 24 ldr r1, _080921B4 lsrs r0, 22 @@ -4477,7 +4477,7 @@ sub_80921A8: bx lr .align 2, 0 _080921B4: .4byte gRescueTeamRanks - thumb_func_end sub_80921A8 + thumb_func_end GetTeamRankString thumb_func_start sub_80921B8 sub_80921B8: @@ -4580,19 +4580,19 @@ sub_809222C: _0809227C: .4byte gUnknown_203B464 thumb_func_end sub_809222C - thumb_func_start sub_8092280 -sub_8092280: + thumb_func_start ReturnIntFromChar +ReturnIntFromChar: lsls r0, 24 lsrs r0, 24 bx lr - thumb_func_end sub_8092280 + thumb_func_end ReturnIntFromChar - thumb_func_start sub_8092288 -sub_8092288: + thumb_func_start ReturnIntFromChar2 +ReturnIntFromChar2: lsls r0, 24 lsrs r0, 24 bx lr - thumb_func_end sub_8092288 + thumb_func_end ReturnIntFromChar2 thumb_func_start sub_8092290 sub_8092290: @@ -4603,7 +4603,7 @@ sub_8092290: _08092298: ldrb r0, [r4] adds r4, 0x1 - bl sub_8092288 + bl ReturnIntFromChar2 strb r0, [r5] adds r5, 0x1 _080922A4: @@ -4627,7 +4627,7 @@ sub_80922B4: _080922BE: ldrb r0, [r4] adds r4, 0x1 - bl sub_8092288 + bl ReturnIntFromChar2 strb r0, [r6] adds r6, 0x1 _080922CA: @@ -4657,8 +4657,8 @@ sub_80922E4: _080922F0: .4byte gUnknown_810983C thumb_func_end sub_80922E4 - thumb_func_start sub_80922F4 -sub_80922F4: + thumb_func_start CopyStringtoBuffer +CopyStringtoBuffer: push {lr} adds r2, r0, 0 b _08092300 @@ -4674,10 +4674,10 @@ _08092300: strb r0, [r2] pop {r0} bx r0 - thumb_func_end sub_80922F4 + thumb_func_end CopyStringtoBuffer - thumb_func_start sub_8092310 -sub_8092310: + thumb_func_start BoundedCopyStringtoBuffer +BoundedCopyStringtoBuffer: push {r4,lr} adds r4, r0, 0 b _0809231C @@ -4699,6 +4699,6 @@ _0809232E: pop {r4} pop {r0} bx r0 - thumb_func_end sub_8092310 + thumb_func_end BoundedCopyStringtoBuffer .align 2, 0 @ Don't pad with nop. diff --git a/asm/code_8092334.s b/asm/code_8092334.s index bb28f8b..6e8718e 100644 --- a/asm/code_8092334.s +++ b/asm/code_8092334.s @@ -3215,7 +3215,7 @@ _08093E3A: bx r1 .align 2, 0 _08093E80: .4byte 0xfffffcdc -_08093E84: .4byte gUnknown_202DF98 +_08093E84: .4byte gAvailablePokemonNames _08093E88: .4byte gUnknown_8109930 _08093E8C: .4byte gMovesData thumb_func_end sub_8093DE8 @@ -3271,7 +3271,7 @@ sub_8093E90: pop {r0} bx r0 .align 2, 0 -_08093F00: .4byte gUnknown_202DF98 +_08093F00: .4byte gAvailablePokemonNames _08093F04: .4byte gUnknown_810CF00 _08093F08: .4byte gUnknown_810CF0C _08093F0C: .4byte gUnknown_202DE30 @@ -4227,7 +4227,7 @@ sub_8094558: bl xxx_format_string b _080945EA .align 2, 0 -_080945D0: .4byte gUnknown_202DF98 +_080945D0: .4byte gAvailablePokemonNames _080945D4: .4byte gUnknown_8113850 _080945D8: .4byte gUnknown_8113868 _080945DC: diff --git a/asm/code_8095014.s b/asm/code_8095014.s index e7081c3..28e652f 100644 --- a/asm/code_8095014.s +++ b/asm/code_8095014.s @@ -512,7 +512,7 @@ sub_809542C: ldr r0, [r4] adds r0, 0x14 mov r1, sp - bl sub_80922F4 + bl CopyStringtoBuffer bl sub_8011C34 ldr r1, [r4] str r0, [r1, 0x24] diff --git a/asm/code_8098BDC.s b/asm/code_8098BDC.s index 6008fe1..283c8ec 100644 --- a/asm/code_8098BDC.s +++ b/asm/code_8098BDC.s @@ -190,7 +190,7 @@ _0809913E: adds r0, r4, 0 mov r1, sp movs r2, 0xA - bl sub_8092310 + bl BoundedCopyStringtoBuffer add r5, sp, 0x30 str r4, [sp, 0x58] add r1, sp, 0x5C @@ -3246,7 +3246,7 @@ _0809A89A: _0809A8A0: .4byte gUnknown_3001B64 _0809A8A4: .4byte 0x0000043c _0809A8A8: .4byte 0x0000ffff -_0809A8AC: .4byte gUnknown_202DF98 +_0809A8AC: .4byte gAvailablePokemonNames _0809A8B0: .4byte gUnknown_811615C _0809A8B4: .4byte gPlayerName thumb_func_end sub_809A83C @@ -3535,7 +3535,7 @@ _0809AAE6: movs r0, 0x1 b _0809AB3C .align 2, 0 -_0809AB28: .4byte gUnknown_202DF98 +_0809AB28: .4byte gAvailablePokemonNames _0809AB2C: .4byte gUnknown_811616C _0809AB30: .4byte gPlayerName _0809AB34: @@ -3598,7 +3598,7 @@ _0809ABA0: pop {r1} bx r1 .align 2, 0 -_0809ABA8: .4byte gUnknown_202DF98 +_0809ABA8: .4byte gAvailablePokemonNames _0809ABAC: .4byte gPlayerName _0809ABB0: .4byte gUnknown_811617C thumb_func_end sub_809AB4C @@ -3649,7 +3649,7 @@ _0809AC0A: pop {r1} bx r1 .align 2, 0 -_0809AC10: .4byte gUnknown_202DF98 +_0809AC10: .4byte gAvailablePokemonNames _0809AC14: .4byte gPlayerName thumb_func_end sub_809ABB4 @@ -3699,7 +3699,7 @@ _0809AC6E: pop {r1} bx r1 .align 2, 0 -_0809AC74: .4byte gUnknown_202DF98 +_0809AC74: .4byte gAvailablePokemonNames _0809AC78: .4byte gPlayerName thumb_func_end sub_809AC18 @@ -6555,7 +6555,7 @@ _0809C32A: lsls r2, 3 adds r1, r2 ldr r1, [r1] - bl sub_8035444 + bl DrawCredits lsls r0, 24 cmp r0, 0 beq _0809C35C diff --git a/asm/code_809D148.s b/asm/code_809D148.s index 8af7edf..c56442e 100644 --- a/asm/code_809D148.s +++ b/asm/code_809D148.s @@ -2505,7 +2505,7 @@ _0809E718: cmp r1, r3 bge _0809E718 adds r1, r4, 0 - bl sub_80922F4 + bl CopyStringtoBuffer movs r2, 0 ldrb r0, [r4] ldrb r3, [r5] @@ -9018,13 +9018,13 @@ _080A1EE8: lsls r5, 24 lsrs r5, 24 adds r0, r4, 0 - bl sub_80921A8 + bl GetTeamRankString adds r1, r0, 0 ldr r4, _080A1F30 adds r0, r4, 0 bl strcpy adds r0, r5, 0 - bl sub_80921A8 + bl GetTeamRankString adds r1, r0, 0 adds r4, 0x50 adds r0, r4, 0 diff --git a/asm/code_80A7714.s b/asm/code_80A7714.s index 6717a3c..31e753d 100644 --- a/asm/code_80A7714.s +++ b/asm/code_80A7714.s @@ -3103,7 +3103,7 @@ _080A8F30: ldrsh r1, [r0, r2] _080A8F34: adds r0, r4, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer b _080A8F44 _080A8F3C: ldr r1, _080A8F4C @@ -3131,7 +3131,7 @@ sub_80A8F50: adds r0, r4, 0 mov r1, sp adds r2, r5, 0 - bl sub_8092310 + bl BoundedCopyStringtoBuffer add sp, 0x80 pop {r4,r5} pop {r0} diff --git a/asm/credits.s b/asm/credits.s index b0c4564..e4ae06b 100644 --- a/asm/credits.s +++ b/asm/credits.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_8035444 -sub_8035444: + thumb_func_start DrawCredits +DrawCredits: push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -157,8 +157,8 @@ _08035542: pop {r1} bx r1 .align 2, 0 -_08035570: .4byte gCreditsText - thumb_func_end sub_8035444 +_08035570: .4byte gUnknown_80E4A40 + thumb_func_end DrawCredits thumb_func_start sub_8035574 sub_8035574: @@ -201,7 +201,7 @@ _080355A8: b _08035654 .align 2, 0 _080355C8: .4byte gUnknown_203B340 -_080355CC: .4byte gCreditsText +_080355CC: .4byte gUnknown_80E4A40 _080355D0: bl sub_8099B94 lsls r0, 24 @@ -233,7 +233,7 @@ _08035600: str r0, [r1, 0x64] b _08035654 .align 2, 0 -_0803560C: .4byte gCreditsText +_0803560C: .4byte gUnknown_80E4A40 _08035610: bl sub_8099B94 lsls r0, 24 @@ -262,7 +262,7 @@ _08035638: movs r0, 0x3 b _08035656 .align 2, 0 -_08035650: .4byte gCreditsText +_08035650: .4byte gUnknown_80E4A40 _08035654: movs r0, 0 _08035656: @@ -271,163 +271,4 @@ _08035656: bx r1 thumb_func_end sub_8035574 - thumb_func_start sub_803565C -sub_803565C: - push {r4,lr} - ldr r4, _08035674 - ldr r0, [r4] - cmp r0, 0 - beq _0803566E - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803566E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035674: .4byte gUnknown_203B340 - thumb_func_end sub_803565C - - thumb_func_start sub_8035678 -sub_8035678: - push {r4,lr} - ldr r4, _0803569C - movs r0, 0x8 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r1, 0 - str r1, [r0] - str r1, [r0, 0x4] - movs r0, 0 - movs r1, 0x39 - bl sub_80015C0 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0803569C: .4byte gUnknown_203B344 - thumb_func_end sub_8035678 - - thumb_func_start sub_80356A0 -sub_80356A0: - push {r4,lr} - ldr r0, _080356C4 - ldrh r4, [r0] - ldr r3, _080356C8 - ldr r2, _080356CC - ldr r1, [r2] - ldr r0, [r1, 0x4] - lsls r0, 1 - adds r0, r3 - ldrh r3, [r0] - ldr r0, [r1] - cmp r0, 0x4 - bhi _08035734 - lsls r0, 2 - ldr r1, _080356D0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080356C4: .4byte gRealInputs -_080356C8: .4byte gUnknown_80E5990 -_080356CC: .4byte gUnknown_203B344 -_080356D0: .4byte _080356D4 - .align 2, 0 -_080356D4: - .4byte _08035728 - .4byte _080356E8 - .4byte _08035710 - .4byte _0803574C - .4byte _08035730 -_080356E8: - cmp r3, 0 - bne _080356F4 - ldr r1, [r2] - movs r0, 0x4 - str r0, [r1] - b _08035734 -_080356F4: - cmp r4, r3 - bne _08035700 - ldr r1, [r2] - movs r0, 0x2 - str r0, [r1] - b _08035734 -_08035700: - ands r3, r4 - cmp r3, r4 - bne _08035728 - ldr r1, [r2] - ldr r0, [r1, 0x4] - cmp r0, 0 - bne _08035734 - b _0803572A -_08035710: - cmp r4, 0 - bne _08035722 - ldr r1, [r2] - movs r0, 0x1 - str r0, [r1] - ldr r0, [r1, 0x4] - adds r0, 0x1 - str r0, [r1, 0x4] - b _08035734 -_08035722: - ands r3, r4 - cmp r3, r4 - beq _08035734 -_08035728: - ldr r1, [r2] -_0803572A: - movs r0, 0x3 - str r0, [r1] - b _08035734 -_08035730: - movs r0, 0x3 - b _0803574E -_08035734: - movs r0, 0 - movs r1, 0x39 - bl sub_8001658 - cmp r0, 0 - bne _08035744 - movs r0, 0 - b _0803574E -_08035744: - ldr r0, _08035754 - ldr r1, [r0] - movs r0, 0x3 - str r0, [r1] -_0803574C: - movs r0, 0x2 -_0803574E: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08035754: .4byte gUnknown_203B344 - thumb_func_end sub_80356A0 - - thumb_func_start sub_8035758 -sub_8035758: - push {r4,lr} - ldr r4, _08035770 - ldr r0, [r4] - cmp r0, 0 - beq _0803576A - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803576A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035770: .4byte gUnknown_203B344 - thumb_func_end sub_8035758 - .align 2,0 diff --git a/asm/debug_menu.s b/asm/debug_menu.s new file mode 100644 index 0000000..2b25b3e --- /dev/null +++ b/asm/debug_menu.s @@ -0,0 +1,1844 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start CreateDebugMenu +CreateDebugMenu: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r5, _0803A270 + ldr r0, [r5] + cmp r0, 0 + bne _0803A224 + movs r4, 0xD2 + lsls r4, 1 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 +_0803A224: + mov r12, r5 + movs r0, 0xA0 + lsls r0, 1 + mov r8, r0 + ldr r4, _0803A274 + movs r3, 0 + movs r2, 0x3 +_0803A232: + mov r5, r12 + ldr r1, [r5] + adds r1, r3 + add r1, r8 + adds r0, r4, 0 + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + adds r3, 0x18 + subs r2, 0x1 + cmp r2, 0 + bge _0803A232 + bl ResetUnusedInputStruct + ldr r0, _0803A270 + ldr r0, [r0] + movs r6, 0xA0 + lsls r6, 1 + adds r0, r6 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl SetDebugMenuItems + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803A270: .4byte gUnknown_203B3EC +_0803A274: .4byte gUnknown_80E7D40 + thumb_func_end CreateDebugMenu + + thumb_func_start DeleteDebugMenu +DeleteDebugMenu: + push {r4,lr} + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _0803A2A0 + ldr r0, [r4] + cmp r0, 0 + beq _0803A298 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0803A298: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803A2A0: .4byte gUnknown_203B3EC + thumb_func_end DeleteDebugMenu + + thumb_func_start sub_803A2A4 +sub_803A2A4: + push {r4,r5,lr} + sub sp, 0x4 + ldr r4, _0803A2D4 + movs r0, 0xB + str r0, [sp] + ldr r5, _0803A2D8 + ldr r0, [r5] + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0803A2C4 + ldr r0, [r5] + mov r1, sp + bl sub_8013114 +_0803A2C4: + ldr r0, [sp] + cmp r0, 0xB + bhi _0803A34E + lsls r0, 2 + ldr r1, _0803A2DC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803A2D4: .4byte 0x0000ffdc +_0803A2D8: .4byte gUnknown_203B3EC +_0803A2DC: .4byte _0803A2E0 + .align 2, 0 +_0803A2E0: + .4byte _0803A310 + .4byte _0803A314 + .4byte _0803A318 + .4byte _0803A31C + .4byte _0803A320 + .4byte _0803A324 + .4byte _0803A328 + .4byte _0803A34E + .4byte _0803A34E + .4byte _0803A330 + .4byte _0803A344 + .4byte _0803A34C +_0803A310: + movs r4, 0x2F + b _0803A34E +_0803A314: + movs r4, 0x30 + b _0803A34E +_0803A318: + movs r4, 0x31 + b _0803A34E +_0803A31C: + movs r4, 0x32 + b _0803A34E +_0803A320: + movs r4, 0x33 + b _0803A34E +_0803A324: + movs r4, 0x34 + b _0803A34E +_0803A328: + bl sub_803A3BC + movs r4, 0x1 + b _0803A34E +_0803A330: + movs r4, 0 +_0803A332: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_80976F8 + adds r4, 0x1 + cmp r4, 0x1F + ble _0803A332 + movs r4, 0x1 + b _0803A34E +_0803A344: + bl sub_803A3A0 + movs r4, 0x1 + b _0803A34E +_0803A34C: + ldr r4, _0803A358 +_0803A34E: + adds r0, r4, 0 + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0803A358: .4byte 0x0000ffdc + thumb_func_end sub_803A2A4 + + thumb_func_start SetDebugMenuItems +SetDebugMenuItems: + push {r4,lr} + sub sp, 0x10 + ldr r4, _0803A394 + ldr r0, [r4] + movs r2, 0xA0 + lsls r2, 1 + adds r1, r0, r2 + ldr r3, _0803A398 + ldr r2, _0803A39C + str r2, [sp] + movs r2, 0x1 + str r2, [sp, 0x4] + movs r2, 0xD + str r2, [sp, 0x8] + movs r2, 0 + str r2, [sp, 0xC] + bl SetMenuItems + ldr r0, [r4] + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + add sp, 0x10 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803A394: .4byte gUnknown_203B3EC +_0803A398: .4byte gUnknown_80E7D58 +_0803A39C: .4byte gDebugMenuItems + thumb_func_end SetDebugMenuItems + + thumb_func_start sub_803A3A0 +sub_803A3A0: + push {lr} + ldr r0, _0803A3B8 + ldr r0, [r0] + movs r1, 0xA0 + lsls r1, 1 + adds r0, r1 + movs r1, 0 + bl sub_8035CC0 + pop {r0} + bx r0 + .align 2, 0 +_0803A3B8: .4byte gUnknown_203B3EC + thumb_func_end sub_803A3A0 + + thumb_func_start sub_803A3BC +sub_803A3BC: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x84 + movs r5, 0x1 + add r4, sp, 0x60 + add r6, sp, 0x68 + add r0, sp, 0x7C + mov r8, r0 + add r0, sp, 0x80 + mov r10, r0 +_0803A3D6: + lsls r0, r5, 24 + lsrs r0, 24 + bl UnlockFriendArea + adds r5, 0x1 + cmp r5, 0x39 + ble _0803A3D6 + movs r5, 0 + adds r7, r4, 0 +_0803A3E8: + movs r0, 0 + mov r9, r0 + ldr r0, _0803A454 + str r0, [sp, 0x7C] + adds r5, 0x1 + lsls r4, r5, 16 + asrs r4, 16 + adds r0, r7, 0 + movs r1, 0 + movs r2, 0x8 + bl memset + movs r0, 0x27 + strh r0, [r7] + adds r0, r6, 0 + adds r1, r4, 0 + bl CopySpeciesNametoBuffer + adds r0, r6, 0 + adds r1, r6, 0 + bl CopyStringtoBuffer + movs r0, 0x40 + strb r0, [r6] + mov r0, r8 + str r0, [sp] + str r7, [sp, 0x4] + add r0, sp, 0x8 + adds r1, r4, 0 + adds r2, r6, 0 + movs r3, 0x43 + bl sub_808CFD0 + add r0, sp, 0x8 + bl sub_808D1DC + ldr r0, _0803A458 + cmp r5, r0 + ble _0803A3E8 + mov r0, r9 + str r0, [sp, 0x80] + mov r0, r10 + movs r1, 0x1 + bl sub_801203C + add sp, 0x84 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803A454: .4byte 0x00001006 +_0803A458: .4byte 0x0000012b + thumb_func_end sub_803A3BC + + thumb_func_start sub_803A45C +sub_803A45C: + push {r4,lr} + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _0803A488 + movs r0, 0x9C + lsls r0, 1 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + movs r0, 0 + bl sub_803A504 + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0803A488: .4byte gUnknown_203B3F0 + thumb_func_end sub_803A45C + + thumb_func_start sub_803A48C +sub_803A48C: + push {lr} + ldr r0, _0803A4A4 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x5 + bhi _0803A4E0 + lsls r0, 2 + ldr r1, _0803A4A8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803A4A4: .4byte gUnknown_203B3F0 +_0803A4A8: .4byte _0803A4AC + .align 2, 0 +_0803A4AC: + .4byte _0803A4C4 + .4byte _0803A4C4 + .4byte _0803A4CA + .4byte _0803A4D0 + .4byte _0803A4D6 + .4byte _0803A4DC +_0803A4C4: + bl sub_803A740 + b _0803A4E0 +_0803A4CA: + bl sub_803A7B0 + b _0803A4E0 +_0803A4D0: + bl sub_803A810 + b _0803A4E0 +_0803A4D6: + bl sub_803A86C + b _0803A4E0 +_0803A4DC: + movs r0, 0x3 + b _0803A4E2 +_0803A4E0: + movs r0, 0 +_0803A4E2: + pop {r1} + bx r1 + thumb_func_end sub_803A48C + + thumb_func_start sub_803A4E8 +sub_803A4E8: + push {r4,lr} + ldr r4, _0803A500 + ldr r0, [r4] + cmp r0, 0 + beq _0803A4FA + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0803A4FA: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803A500: .4byte gUnknown_203B3F0 + thumb_func_end sub_803A4E8 + + thumb_func_start sub_803A504 +sub_803A504: + push {lr} + ldr r1, _0803A518 + ldr r1, [r1] + str r0, [r1] + bl sub_803A51C + bl sub_803A5A0 + pop {r0} + bx r0 + .align 2, 0 +_0803A518: .4byte gUnknown_203B3F0 + thumb_func_end sub_803A504 + + thumb_func_start sub_803A51C +sub_803A51C: + push {r4-r7,lr} + ldr r4, _0803A53C + ldr r0, [r4] + adds r0, 0xD8 + bl sub_8006518 + ldr r1, [r4] + ldr r0, [r1] + cmp r0, 0x2 + beq _0803A544 + cmp r0, 0x3 + bne _0803A55C + adds r1, 0xF0 + ldr r0, _0803A540 + b _0803A54C + .align 2, 0 +_0803A53C: .4byte gUnknown_203B3F0 +_0803A540: .4byte gUnknown_80E7E64 +_0803A544: + movs r0, 0x84 + lsls r0, 1 + adds r1, r0 + ldr r0, _0803A558 +_0803A54C: + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + b _0803A57E + .align 2, 0 +_0803A558: .4byte gUnknown_80E7E4C +_0803A55C: + mov r12, r4 + ldr r4, _0803A598 + movs r3, 0 + movs r2, 0x3 +_0803A564: + mov r0, r12 + ldr r1, [r0] + adds r1, r3 + adds r1, 0xD8 + adds r0, r4, 0 + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + adds r3, 0x18 + subs r2, 0x1 + cmp r2, 0 + bge _0803A564 +_0803A57E: + bl ResetUnusedInputStruct + ldr r0, _0803A59C + ldr r0, [r0] + adds r0, 0xD8 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803A598: .4byte gUnknown_80E7E34 +_0803A59C: .4byte gUnknown_203B3F0 + thumb_func_end sub_803A51C + + thumb_func_start sub_803A5A0 +sub_803A5A0: + push {lr} + sub sp, 0xC + ldr r1, _0803A5BC + ldr r0, [r1] + ldr r0, [r0] + adds r2, r1, 0 + cmp r0, 0x5 + bhi _0803A68A + lsls r0, 2 + ldr r1, _0803A5C0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803A5BC: .4byte gUnknown_203B3F0 +_0803A5C0: .4byte _0803A5C4 + .align 2, 0 +_0803A5C4: + .4byte _0803A5DC + .4byte _0803A5EA + .4byte _0803A5F2 + .4byte _0803A61C + .4byte _0803A678 + .4byte _0803A68A +_0803A5DC: + movs r0, 0x2 + movs r1, 0x3 + movs r2, 0 + movs r3, 0xA + bl sub_801C8C4 + b _0803A68A +_0803A5EA: + movs r0, 0x1 + bl sub_801CB5C + b _0803A68A +_0803A5F2: + bl sub_801CCD8 + bl sub_803A6F0 + ldr r0, _0803A618 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x4C + adds r1, r2, 0 + adds r1, 0xC + ldr r2, [r2, 0x8] + str r2, [sp] + movs r2, 0x2 + str r2, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_8012D60 + b _0803A68A + .align 2, 0 +_0803A618: .4byte gUnknown_203B3F0 +_0803A61C: + ldr r3, [r2] + adds r1, r3, 0 + adds r1, 0xAC + movs r0, 0x3 + str r0, [r1] + subs r1, 0x8 + movs r0, 0 + str r0, [r1] + adds r1, 0x4 + ldr r0, _0803A670 + str r0, [r1] + adds r2, r3, 0 + adds r2, 0xA0 + ldr r0, _0803A674 + ldr r1, [r0] + ldrb r0, [r3, 0x4] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r0, [r1] + str r0, [r2] + adds r1, r3, 0 + adds r1, 0xB0 + movs r0, 0x1 + str r0, [r1] + adds r1, 0x4 + adds r0, r3, 0 + adds r0, 0xF0 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x2C + str r0, [r1] + adds r1, 0x4 + movs r0, 0x12 + str r0, [r1] + adds r0, r3, 0 + adds r0, 0x9C + bl sub_8013AA0 + bl sub_803A690 + b _0803A68A + .align 2, 0 +_0803A670: .4byte 0x000003e7 +_0803A674: .4byte gUnknown_203B460 +_0803A678: + ldr r0, [r2] + ldrb r1, [r0, 0x4] + add r0, sp, 0x8 + movs r2, 0 + bl sub_8090A8C + add r0, sp, 0x8 + bl sub_801B3C0 +_0803A68A: + add sp, 0xC + pop {r0} + bx r0 + thumb_func_end sub_803A5A0 + + thumb_func_start sub_803A690 +sub_803A690: + push {r4,lr} + sub sp, 0x4 + ldr r4, _0803A6E8 + ldr r0, [r4] + adds r0, 0xB0 + ldr r0, [r0] + bl sub_8008C54 + ldr r0, [r4] + adds r0, 0xB0 + ldr r0, [r0] + bl sub_80073B8 + ldr r2, _0803A6EC + ldr r0, [r4] + adds r0, 0xB0 + ldr r3, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x4 + movs r1, 0 + bl xxx_call_draw_string + ldr r0, [r4] + adds r0, 0x9C + bl sub_8013C68 + ldr r0, [r4] + adds r0, 0xB0 + ldr r0, [r0] + bl sub_80073E0 + bl sub_801CCD8 + ldr r0, [r4] + adds r0, 0x4C + movs r1, 0 + bl sub_8012EA4 + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803A6E8: .4byte gUnknown_203B3F0 +_0803A6EC: .4byte gUnknown_80E7E7C + thumb_func_end sub_803A690 + + thumb_func_start sub_803A6F0 +sub_803A6F0: + push {r4,lr} + ldr r4, _0803A734 + ldr r1, [r4] + ldr r0, _0803A738 + str r0, [r1, 0xC] + movs r0, 0x2 + str r0, [r1, 0x10] + str r0, [r1, 0x8] + ldrb r0, [r1, 0x4] + bl sub_8091524 + lsls r0, 24 + cmp r0, 0 + bne _0803A718 + ldr r0, [r4] + movs r1, 0x1 + negs r1, r1 + str r1, [r0, 0x10] + movs r1, 0x3 + str r1, [r0, 0x8] +_0803A718: + ldr r1, [r4] + movs r2, 0x1 + ldr r0, _0803A73C + ldr r0, [r0] + str r0, [r1, 0x14] + movs r0, 0x3 + str r0, [r1, 0x18] + movs r0, 0 + str r0, [r1, 0x1C] + str r2, [r1, 0x20] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803A734: .4byte gUnknown_203B3F0 +_0803A738: .4byte gUnknown_80E7E7C +_0803A73C: .4byte gUnknown_80D4970 + thumb_func_end sub_803A6F0 + + thumb_func_start sub_803A740 +sub_803A740: + push {lr} + movs r0, 0x1 + bl sub_801CA08 + cmp r0, 0x4 + bhi _0803A7AA + lsls r0, 2 + ldr r1, _0803A758 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803A758: .4byte _0803A75C + .align 2, 0 +_0803A75C: + .4byte _0803A7AA + .4byte _0803A7AA + .4byte _0803A7A0 + .4byte _0803A770 + .4byte _0803A788 +_0803A770: + bl sub_801CB24 + ldr r1, _0803A784 + ldr r1, [r1] + strb r0, [r1, 0x4] + movs r0, 0x2 + bl sub_803A504 + b _0803A7AA + .align 2, 0 +_0803A784: .4byte gUnknown_203B3F0 +_0803A788: + bl sub_801CB24 + ldr r1, _0803A79C + ldr r1, [r1] + strb r0, [r1, 0x4] + movs r0, 0x4 + bl sub_803A504 + b _0803A7AA + .align 2, 0 +_0803A79C: .4byte gUnknown_203B3F0 +_0803A7A0: + bl sub_801CBB8 + movs r0, 0x5 + bl sub_803A504 +_0803A7AA: + pop {r0} + bx r0 + thumb_func_end sub_803A740 + + thumb_func_start sub_803A7B0 +sub_803A7B0: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_801CA08 + ldr r4, _0803A7E8 + ldr r0, [r4] + adds r0, 0x4C + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0803A7D6 + ldr r0, [r4] + adds r0, 0x4C + mov r1, sp + bl sub_8013114 +_0803A7D6: + ldr r0, [sp] + cmp r0, 0x2 + beq _0803A7F2 + cmp r0, 0x2 + bgt _0803A7EC + cmp r0, 0x1 + beq _0803A802 + b _0803A808 + .align 2, 0 +_0803A7E8: .4byte gUnknown_203B3F0 +_0803A7EC: + cmp r0, 0x3 + beq _0803A7FA + b _0803A808 +_0803A7F2: + movs r0, 0x3 + bl sub_803A504 + b _0803A808 +_0803A7FA: + movs r0, 0x4 + bl sub_803A504 + b _0803A808 +_0803A802: + movs r0, 0x1 + bl sub_803A504 +_0803A808: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_803A7B0 + + thumb_func_start sub_803A810 +sub_803A810: + push {r4,lr} + movs r0, 0 + bl sub_801CA08 + ldr r4, _0803A838 + ldr r0, [r4] + adds r0, 0x4C + bl sub_8012FD8 + ldr r0, [r4] + adds r0, 0x9C + bl sub_8013BBC + cmp r0, 0x2 + beq _0803A854 + cmp r0, 0x2 + bhi _0803A83C + cmp r0, 0x1 + beq _0803A860 + b _0803A864 + .align 2, 0 +_0803A838: .4byte gUnknown_203B3F0 +_0803A83C: + cmp r0, 0x3 + bne _0803A864 + ldr r0, _0803A85C + ldr r2, [r0] + ldr r1, [r4] + ldrb r0, [r1, 0x4] + lsls r0, 1 + adds r2, 0x50 + adds r2, r0 + adds r1, 0x9C + ldr r0, [r1] + strh r0, [r2] +_0803A854: + movs r0, 0x1 + bl sub_803A504 + b _0803A864 + .align 2, 0 +_0803A85C: .4byte gUnknown_203B460 +_0803A860: + bl sub_803A690 +_0803A864: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_803A810 + + thumb_func_start sub_803A86C +sub_803A86C: + push {lr} + bl sub_801B410 + cmp r0, 0x1 + bls _0803A884 + cmp r0, 0x3 + bhi _0803A884 + bl sub_801B450 + movs r0, 0x1 + bl sub_803A504 +_0803A884: + pop {r0} + bx r0 + thumb_func_end sub_803A86C + + thumb_func_start sub_803A888 +sub_803A888: + push {r4,lr} + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _0803A8B4 + movs r0, 0xFC + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + movs r0, 0 + bl sub_803A924 + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0803A8B4: .4byte gUnknown_203B3F4 + thumb_func_end sub_803A888 + + thumb_func_start sub_803A8B8 +sub_803A8B8: + push {lr} + ldr r0, _0803A8D0 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x4 + bhi _0803A902 + lsls r0, 2 + ldr r1, _0803A8D4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803A8D0: .4byte gUnknown_203B3F4 +_0803A8D4: .4byte _0803A8D8 + .align 2, 0 +_0803A8D8: + .4byte _0803A8EC + .4byte _0803A8EC + .4byte _0803A8F2 + .4byte _0803A8F8 + .4byte _0803A8FE +_0803A8EC: + bl sub_803AAC4 + b _0803A902 +_0803A8F2: + bl sub_803AB34 + b _0803A902 +_0803A8F8: + bl sub_803ABAC + b _0803A902 +_0803A8FE: + movs r0, 0x3 + b _0803A904 +_0803A902: + movs r0, 0 +_0803A904: + pop {r1} + bx r1 + thumb_func_end sub_803A8B8 + + thumb_func_start sub_803A908 +sub_803A908: + push {r4,lr} + ldr r4, _0803A920 + ldr r0, [r4] + cmp r0, 0 + beq _0803A91A + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0803A91A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803A920: .4byte gUnknown_203B3F4 + thumb_func_end sub_803A908 + + thumb_func_start sub_803A924 +sub_803A924: + push {lr} + ldr r1, _0803A938 + ldr r1, [r1] + str r0, [r1] + bl sub_803A93C + bl sub_803A9AC + pop {r0} + bx r0 + .align 2, 0 +_0803A938: .4byte gUnknown_203B3F4 + thumb_func_end sub_803A924 + + thumb_func_start sub_803A93C +sub_803A93C: + push {r4-r7,lr} + ldr r4, _0803A960 + ldr r0, [r4] + adds r0, 0x9C + bl sub_8006518 + ldr r1, [r4] + ldr r0, [r1] + cmp r0, 0x2 + bne _0803A968 + adds r1, 0xCC + ldr r0, _0803A964 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + b _0803A98A + .align 2, 0 +_0803A960: .4byte gUnknown_203B3F4 +_0803A964: .4byte gUnknown_80E7EA4 +_0803A968: + mov r12, r4 + ldr r4, _0803A9A4 + movs r3, 0 + movs r2, 0x3 +_0803A970: + mov r0, r12 + ldr r1, [r0] + adds r1, r3 + adds r1, 0x9C + adds r0, r4, 0 + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + adds r3, 0x18 + subs r2, 0x1 + cmp r2, 0 + bge _0803A970 +_0803A98A: + bl ResetUnusedInputStruct + ldr r0, _0803A9A8 + ldr r0, [r0] + adds r0, 0x9C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803A9A4: .4byte gUnknown_80E7E8C +_0803A9A8: .4byte gUnknown_203B3F4 + thumb_func_end sub_803A93C + + thumb_func_start sub_803A9AC +sub_803A9AC: + push {lr} + sub sp, 0x8 + ldr r1, _0803A9C8 + ldr r0, [r1] + ldr r0, [r0] + adds r2, r1, 0 + cmp r0, 0x4 + bhi _0803AA2C + lsls r0, 2 + ldr r1, _0803A9CC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803A9C8: .4byte gUnknown_203B3F4 +_0803A9CC: .4byte _0803A9D0 + .align 2, 0 +_0803A9D0: + .4byte _0803A9E4 + .4byte _0803A9EE + .4byte _0803A9F6 + .4byte _0803AA20 + .4byte _0803AA2C +_0803A9E4: + movs r0, 0 + movs r1, 0x3 + bl sub_80211AC + b _0803AA2C +_0803A9EE: + movs r0, 0x1 + bl sub_8021354 + b _0803AA2C +_0803A9F6: + bl sub_8021494 + bl sub_803AA34 + ldr r0, _0803AA1C + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x4C + adds r1, r2, 0 + adds r1, 0xC + ldr r2, [r2, 0x8] + str r2, [sp] + movs r2, 0x2 + str r2, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_8012D60 + b _0803AA2C + .align 2, 0 +_0803AA1C: .4byte gUnknown_203B3F4 +_0803AA20: + ldr r0, [r2] + ldrb r0, [r0, 0x4] + movs r1, 0x1 + movs r2, 0 + bl sub_8021774 +_0803AA2C: + add sp, 0x8 + pop {r0} + bx r0 + thumb_func_end sub_803A9AC + + thumb_func_start sub_803AA34 +sub_803AA34: + push {r4,r5,lr} + movs r4, 0 + ldr r0, _0803AA64 + ldr r1, [r0] + ldr r2, _0803AA68 + ldr r3, [r2] + ldrb r0, [r3, 0x4] + adds r1, r0 + ldrb r0, [r1] + adds r5, r2, 0 + cmp r0, 0 + beq _0803AA7A + ldr r0, _0803AA6C + str r0, [r3, 0xC] + bl sub_803ABC8 + lsls r0, 24 + cmp r0, 0 + beq _0803AA70 + ldr r1, [r5] + movs r0, 0x3 + str r0, [r1, 0x10] + b _0803AA82 + .align 2, 0 +_0803AA64: .4byte gFriendAreas +_0803AA68: .4byte gUnknown_203B3F4 +_0803AA6C: .4byte gUnknown_80E7EBC +_0803AA70: + ldr r1, [r5] + movs r0, 0x1 + negs r0, r0 + str r0, [r1, 0x10] + b _0803AA82 +_0803AA7A: + ldr r0, _0803AABC + str r0, [r3, 0xC] + movs r0, 0x2 + str r0, [r3, 0x10] +_0803AA82: + adds r4, 0x1 + ldr r5, [r5] + mov r12, r5 + lsls r1, r4, 3 + mov r3, r12 + adds r3, 0xC + adds r2, r3, r1 + ldr r0, _0803AAC0 + ldr r0, [r0] + str r0, [r2] + mov r2, r12 + adds r2, 0x10 + adds r1, r2, r1 + movs r0, 0x4 + str r0, [r1] + adds r4, 0x1 + lsls r1, r4, 3 + adds r3, r1 + movs r0, 0 + str r0, [r3] + adds r2, r1 + movs r0, 0x1 + str r0, [r2] + mov r1, r12 + ldr r0, [r1, 0x10] + str r0, [r1, 0x8] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803AABC: .4byte gUnknown_80E7EC4 +_0803AAC0: .4byte gUnknown_80D4970 + thumb_func_end sub_803AA34 + + thumb_func_start sub_803AAC4 +sub_803AAC4: + push {lr} + movs r0, 0x1 + bl sub_8021274 + cmp r0, 0x4 + bhi _0803AB2E + lsls r0, 2 + ldr r1, _0803AADC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803AADC: .4byte _0803AAE0 + .align 2, 0 +_0803AAE0: + .4byte _0803AB2E + .4byte _0803AB2E + .4byte _0803AB24 + .4byte _0803AAF4 + .4byte _0803AB0C +_0803AAF4: + bl sub_802132C + ldr r1, _0803AB08 + ldr r1, [r1] + strb r0, [r1, 0x4] + movs r0, 0x2 + bl sub_803A924 + b _0803AB2E + .align 2, 0 +_0803AB08: .4byte gUnknown_203B3F4 +_0803AB0C: + bl sub_802132C + ldr r1, _0803AB20 + ldr r1, [r1] + strb r0, [r1, 0x4] + movs r0, 0x3 + bl sub_803A924 + b _0803AB2E + .align 2, 0 +_0803AB20: .4byte gUnknown_203B3F4 +_0803AB24: + bl sub_80213A0 + movs r0, 0x4 + bl sub_803A924 +_0803AB2E: + pop {r0} + bx r0 + thumb_func_end sub_803AAC4 + + thumb_func_start sub_803AB34 +sub_803AB34: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_8021274 + ldr r4, _0803AB6C + ldr r0, [r4] + adds r0, 0x4C + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0803AB5A + ldr r0, [r4] + adds r0, 0x4C + mov r1, sp + bl sub_8013114 +_0803AB5A: + ldr r0, [sp] + cmp r0, 0x2 + beq _0803AB7A + cmp r0, 0x2 + bgt _0803AB70 + cmp r0, 0x1 + beq _0803AB9E + b _0803ABA4 + .align 2, 0 +_0803AB6C: .4byte gUnknown_203B3F4 +_0803AB70: + cmp r0, 0x3 + beq _0803AB84 + cmp r0, 0x4 + beq _0803AB96 + b _0803ABA4 +_0803AB7A: + ldr r0, [r4] + ldrb r0, [r0, 0x4] + bl UnlockFriendArea + b _0803AB8E +_0803AB84: + ldr r0, [r4] + ldrb r0, [r0, 0x4] + movs r1, 0x1 + bl sub_809249C +_0803AB8E: + movs r0, 0x1 + bl sub_803A924 + b _0803ABA4 +_0803AB96: + movs r0, 0x3 + bl sub_803A924 + b _0803ABA4 +_0803AB9E: + movs r0, 0x1 + bl sub_803A924 +_0803ABA4: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_803AB34 + + thumb_func_start sub_803ABAC +sub_803ABAC: + push {lr} + bl sub_80217EC + cmp r0, 0x1 + bls _0803ABC4 + cmp r0, 0x3 + bhi _0803ABC4 + bl sub_8021830 + movs r0, 0x1 + bl sub_803A924 +_0803ABC4: + pop {r0} + bx r0 + thumb_func_end sub_803ABAC + + thumb_func_start sub_803ABC8 +sub_803ABC8: + push {r4-r6,lr} + movs r5, 0 + movs r6, 0x1 +_0803ABCE: + ldr r2, _0803AC08 + movs r0, 0x58 + adds r1, r5, 0 + muls r1, r0 + ldr r0, [r2] + adds r2, r0, r1 + ldrh r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _0803AC10 + lsrs r0, r1, 1 + ands r0, r6 + cmp r0, 0 + beq _0803AC10 + ldr r0, _0803AC0C + ldr r4, [r0] + movs r1, 0x8 + ldrsh r0, [r2, r1] + bl GetFriendArea + ldrb r1, [r4, 0x4] + lsls r0, 24 + lsrs r0, 24 + cmp r1, r0 + bne _0803AC10 + movs r0, 0 + b _0803AC1C + .align 2, 0 +_0803AC08: .4byte gUnknown_203B45C +_0803AC0C: .4byte gUnknown_203B3F4 +_0803AC10: + adds r5, 0x1 + movs r0, 0xCE + lsls r0, 1 + cmp r5, r0 + ble _0803ABCE + movs r0, 0x1 +_0803AC1C: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_803ABC8 + + thumb_func_start sub_803AC24 +sub_803AC24: + push {r4,lr} + ldr r4, _0803AC44 + movs r0, 0xA0 + lsls r0, 1 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + movs r0, 0 + bl sub_803ACD0 + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0803AC44: .4byte gUnknown_203B3F8 + thumb_func_end sub_803AC24 + + thumb_func_start sub_803AC48 +sub_803AC48: + push {lr} + ldr r0, _0803AC60 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x7 + bhi _0803ACA8 + lsls r0, 2 + ldr r1, _0803AC64 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803AC60: .4byte gUnknown_203B3F8 +_0803AC64: .4byte _0803AC68 + .align 2, 0 +_0803AC68: + .4byte _0803AC88 + .4byte _0803AC90 + .4byte _0803AC90 + .4byte _0803AC96 + .4byte _0803ACA8 + .4byte _0803AC9C + .4byte _0803ACA2 + .4byte _0803ACA8 +_0803AC88: + movs r0, 0x1 + bl sub_803ACD0 + b _0803ACAC +_0803AC90: + bl sub_803AF38 + b _0803ACAC +_0803AC96: + bl sub_803AF88 + b _0803ACAC +_0803AC9C: + bl sub_803AFE8 + b _0803ACAC +_0803ACA2: + bl sub_803B034 + b _0803ACAC +_0803ACA8: + movs r0, 0x3 + b _0803ACAE +_0803ACAC: + movs r0, 0 +_0803ACAE: + pop {r1} + bx r1 + thumb_func_end sub_803AC48 + + thumb_func_start sub_803ACB4 +sub_803ACB4: + push {r4,lr} + ldr r4, _0803ACCC + ldr r0, [r4] + cmp r0, 0 + beq _0803ACC6 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0803ACC6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803ACCC: .4byte gUnknown_203B3F8 + thumb_func_end sub_803ACB4 + + thumb_func_start sub_803ACD0 +sub_803ACD0: + push {lr} + ldr r1, _0803ACE4 + ldr r1, [r1] + str r0, [r1] + bl sub_803ACE8 + bl sub_803AD88 + pop {r0} + bx r0 + .align 2, 0 +_0803ACE4: .4byte gUnknown_203B3F8 + thumb_func_end sub_803ACD0 + + thumb_func_start sub_803ACE8 +sub_803ACE8: + push {r4-r7,lr} + ldr r4, _0803AD08 + ldr r0, [r4] + adds r0, 0xE0 + bl sub_8006518 + ldr r1, [r4] + ldr r0, [r1] + cmp r0, 0x3 + beq _0803AD10 + cmp r0, 0x5 + beq _0803AD38 + movs r2, 0 + ldr r3, _0803AD0C + b _0803AD50 + .align 2, 0 +_0803AD08: .4byte gUnknown_203B3F8 +_0803AD0C: .4byte gUnknown_80E7ED4 +_0803AD10: + bl sub_803AEB0 + ldr r2, [r4] + movs r0, 0x88 + lsls r0, 1 + adds r2, r0 + ldr r1, _0803AD34 + ldm r1!, {r3,r5,r6} + stm r2!, {r3,r5,r6} + ldm r1!, {r3,r5,r7} + stm r2!, {r3,r5,r7} + ldr r1, [r4] + adds r0, r1, r0 + adds r1, 0x90 + bl sub_8012CAC + b _0803AD6C + .align 2, 0 +_0803AD34: .4byte gUnknown_80E7EEC +_0803AD38: + movs r6, 0x94 + lsls r6, 1 + adds r1, r6 + ldr r0, _0803AD4C + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + b _0803AD6C + .align 2, 0 +_0803AD4C: .4byte gUnknown_80E7F04 +_0803AD50: + ldr r0, [r4] + lsls r1, r2, 1 + adds r1, r2 + lsls r1, 3 + adds r0, r1 + adds r0, 0xE0 + adds r1, r3, 0 + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + adds r2, 0x1 + cmp r2, 0x3 + ble _0803AD50 +_0803AD6C: + bl ResetUnusedInputStruct + ldr r0, _0803AD84 + ldr r0, [r0] + adds r0, 0xE0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803AD84: .4byte gUnknown_203B3F8 + thumb_func_end sub_803ACE8 + + thumb_func_start sub_803AD88 +sub_803AD88: + push {lr} + sub sp, 0x8 + ldr r1, _0803ADA4 + ldr r0, [r1] + ldr r0, [r0] + adds r2, r1, 0 + cmp r0, 0x7 + bhi _0803AE50 + lsls r0, 2 + ldr r1, _0803ADA8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803ADA4: .4byte gUnknown_203B3F8 +_0803ADA8: .4byte _0803ADAC + .align 2, 0 +_0803ADAC: + .4byte _0803AE50 + .4byte _0803ADCC + .4byte _0803ADDA + .4byte _0803ADE2 + .4byte _0803AE50 + .4byte _0803AE0C + .4byte _0803AE44 + .4byte _0803AE50 +_0803ADCC: + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0xA + bl sub_8023868 + b _0803AE50 +_0803ADDA: + movs r0, 0x1 + bl sub_8023B7C + b _0803AE50 +_0803ADE2: + bl sub_8023DA4 + ldr r0, _0803AE08 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x10 + adds r1, r2, 0 + adds r1, 0x90 + adds r3, r2, 0 + adds r3, 0xD0 + ldr r2, [r2, 0xC] + str r2, [sp] + movs r2, 0x2 + str r2, [sp, 0x4] + movs r2, 0 + bl sub_8012D60 + b _0803AE50 + .align 2, 0 +_0803AE08: .4byte gUnknown_203B3F8 +_0803AE0C: + ldr r2, [r2] + movs r1, 0x3 + str r1, [r2, 0x70] + movs r0, 0x1 + str r0, [r2, 0x68] + movs r0, 0x64 + str r0, [r2, 0x6C] + ldr r0, [r2, 0x8] + ldrb r0, [r0, 0x3] + str r0, [r2, 0x64] + str r1, [r2, 0x74] + movs r1, 0x94 + lsls r1, 1 + adds r0, r2, r1 + str r0, [r2, 0x78] + movs r0, 0x2C + str r0, [r2, 0x7C] + adds r1, r2, 0 + adds r1, 0x80 + movs r0, 0x12 + str r0, [r1] + adds r0, r2, 0 + adds r0, 0x60 + bl sub_8013AA0 + bl sub_803AE58 + b _0803AE50 +_0803AE44: + ldr r0, [r2] + ldr r1, [r0, 0x8] + adds r1, 0x4C + movs r0, 0x2 + bl sub_801602C +_0803AE50: + add sp, 0x8 + pop {r0} + bx r0 + thumb_func_end sub_803AD88 + + thumb_func_start sub_803AE58 +sub_803AE58: + push {r4,lr} + sub sp, 0x4 + ldr r4, _0803AEA8 + ldr r0, [r4] + ldr r0, [r0, 0x74] + bl sub_8008C54 + ldr r0, [r4] + ldr r0, [r0, 0x74] + bl sub_80073B8 + ldr r2, _0803AEAC + ldr r0, [r4] + ldr r3, [r0, 0x74] + movs r0, 0 + str r0, [sp] + movs r0, 0x4 + movs r1, 0 + bl xxx_call_draw_string + ldr r0, [r4] + adds r0, 0x60 + bl sub_8013C68 + ldr r0, [r4] + ldr r0, [r0, 0x74] + bl sub_80073E0 + bl sub_8023DA4 + ldr r0, [r4] + adds r0, 0x10 + movs r1, 0 + bl sub_8012EA4 + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803AEA8: .4byte gUnknown_203B3F8 +_0803AEAC: .4byte gUnknown_80E7F1C + thumb_func_end sub_803AE58 + + thumb_func_start sub_803AEB0 +sub_803AEB0: + push {r4-r6,lr} + ldr r4, _0803AEFC + ldr r0, [r4] + adds r0, 0xD0 + movs r1, 0 + movs r2, 0x10 + bl MemoryFill16 + ldr r4, [r4] + movs r3, 0 + adds r1, r4, 0 + adds r1, 0x90 + ldr r0, _0803AF00 + str r0, [r1] + adds r5, r4, 0 + adds r5, 0x94 + movs r0, 0x4 + str r0, [r5] + movs r2, 0x1 + adds r1, 0x8 + ldr r0, _0803AF04 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x5 + str r0, [r1] + movs r6, 0x2 + adds r0, r4, 0 + adds r0, 0xA0 + str r3, [r0] + adds r0, 0x4 + str r2, [r0] + adds r0, 0x2C + ldrh r0, [r0] + cmp r0, 0 + bne _0803AF08 + ldr r0, [r5] + str r0, [r4, 0xC] + b _0803AF2C + .align 2, 0 +_0803AEFC: .4byte gUnknown_203B3F8 +_0803AF00: .4byte gUnknown_80E7F24 +_0803AF04: .4byte gUnknown_80E7F2C +_0803AF08: + adds r3, 0x1 + cmp r3, r6 + bge _0803AF2C + ldr r0, _0803AF34 + ldr r2, [r0] + lsls r1, r3, 1 + adds r0, r2, 0 + adds r0, 0xD0 + adds r0, r1 + ldrh r0, [r0] + cmp r0, 0 + bne _0803AF08 + lsls r0, r3, 3 + adds r1, r2, 0 + adds r1, 0x94 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0xC] +_0803AF2C: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0803AF34: .4byte gUnknown_203B3F8 + thumb_func_end sub_803AEB0 + + thumb_func_start sub_803AF38 +sub_803AF38: + push {lr} + movs r0, 0x1 + bl sub_8023A94 + cmp r0, 0x2 + beq _0803AF78 + cmp r0, 0x2 + bcc _0803AF82 + cmp r0, 0x3 + bne _0803AF82 + bl sub_8023B44 + ldr r1, _0803AF70 + ldr r1, [r1] + strh r0, [r1, 0x4] + ldr r3, _0803AF74 + movs r0, 0x4 + ldrsh r2, [r1, r0] + movs r0, 0x58 + muls r2, r0 + ldr r0, [r3] + adds r0, r2 + str r0, [r1, 0x8] + movs r0, 0x3 + bl sub_803ACD0 + b _0803AF82 + .align 2, 0 +_0803AF70: .4byte gUnknown_203B3F8 +_0803AF74: .4byte gUnknown_203B45C +_0803AF78: + bl sub_8023C60 + movs r0, 0x7 + bl sub_803ACD0 +_0803AF82: + pop {r0} + bx r0 + thumb_func_end sub_803AF38 + + thumb_func_start sub_803AF88 +sub_803AF88: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_8023A94 + ldr r4, _0803AFC0 + ldr r0, [r4] + adds r0, 0x10 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0803AFAE + ldr r0, [r4] + adds r0, 0x10 + mov r1, sp + bl sub_8013114 +_0803AFAE: + ldr r0, [sp] + cmp r0, 0x4 + beq _0803AFCA + cmp r0, 0x4 + bgt _0803AFC4 + cmp r0, 0x1 + beq _0803AFDA + b _0803AFE0 + .align 2, 0 +_0803AFC0: .4byte gUnknown_203B3F8 +_0803AFC4: + cmp r0, 0x5 + beq _0803AFD2 + b _0803AFE0 +_0803AFCA: + movs r0, 0x5 + bl sub_803ACD0 + b _0803AFE0 +_0803AFD2: + movs r0, 0x6 + bl sub_803ACD0 + b _0803AFE0 +_0803AFDA: + movs r0, 0x2 + bl sub_803ACD0 +_0803AFE0: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_803AF88 + + thumb_func_start sub_803AFE8 +sub_803AFE8: + push {r4,lr} + movs r0, 0 + bl sub_8023A94 + ldr r4, _0803B010 + ldr r0, [r4] + adds r0, 0x10 + bl sub_8012FD8 + ldr r0, [r4] + adds r0, 0x60 + bl sub_8013BBC + cmp r0, 0x2 + beq _0803B020 + cmp r0, 0x2 + bhi _0803B014 + cmp r0, 0x1 + beq _0803B028 + b _0803B02C + .align 2, 0 +_0803B010: .4byte gUnknown_203B3F8 +_0803B014: + cmp r0, 0x3 + bne _0803B02C + ldr r0, [r4] + ldr r1, [r0, 0x8] + ldr r0, [r0, 0x60] + strb r0, [r1, 0x3] +_0803B020: + movs r0, 0x2 + bl sub_803ACD0 + b _0803B02C +_0803B028: + bl sub_803AE58 +_0803B02C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_803AFE8 + + thumb_func_start sub_803B034 +sub_803B034: + push {lr} + bl sub_8016080 + cmp r0, 0x3 + bhi _0803B04C + cmp r0, 0x2 + bcc _0803B04C + bl sub_80160D8 + movs r0, 0x2 + bl sub_803ACD0 +_0803B04C: + pop {r0} + bx r0 + thumb_func_end sub_803B034 + + .align 2,0 diff --git a/asm/main_menu.s b/asm/main_menu.s index aaa28f6..4309f97 100644 --- a/asm/main_menu.s +++ b/asm/main_menu.s @@ -4824,7 +4824,7 @@ _08038298: sub_80382A0: push {lr} movs r0, 0 - bl sub_8031F60 + bl CreateAdventureLogScreen pop {r0} bx r0 thumb_func_end sub_80382A0 @@ -6765,8 +6765,8 @@ _0803923C: _08039250: .4byte gUnknown_203B370 thumb_func_end sub_80391F8 - thumb_func_start sub_8039254 -sub_8039254: + thumb_func_start CreateLoadScreen +CreateLoadScreen: push {r4-r7,lr} mov r7, r8 push {r7} @@ -6944,7 +6944,7 @@ _08039382: movs r1, 0x2 movs r2, 0x1 bl sub_8035CF4 - bl sub_80394A4 + bl DrawLoadScreenText add sp, 0x10 pop {r3} mov r8, r3 @@ -6957,10 +6957,10 @@ _080393E0: .4byte gUnknown_80E7730 _080393E4: .4byte gUnknown_203B374 _080393E8: .4byte gUnknown_80E7784 _080393EC: .4byte gUnknown_80E779C - thumb_func_end sub_8039254 + thumb_func_end CreateLoadScreen - thumb_func_start sub_80393F0 -sub_80393F0: + thumb_func_start CleanLoadScreen +CleanLoadScreen: push {r4,lr} bl ResetUnusedInputStruct movs r0, 0 @@ -6980,7 +6980,7 @@ _08039410: bx r0 .align 2, 0 _08039418: .4byte gUnknown_203B374 - thumb_func_end sub_80393F0 + thumb_func_end CleanLoadScreen thumb_func_start sub_803941C sub_803941C: @@ -7056,8 +7056,8 @@ _08039498: bx r1 thumb_func_end sub_803941C - thumb_func_start sub_80394A4 -sub_80394A4: + thumb_func_start DrawLoadScreenText +DrawLoadScreenText: push {r4-r7,lr} mov r7, r8 push {r7} @@ -7402,7 +7402,7 @@ _0803977C: .align 2, 0 _080397AC: .4byte gUnknown_203B374 _080397B0: .4byte gUnknown_80E7854 - thumb_func_end sub_80394A4 + thumb_func_end DrawLoadScreenText thumb_func_start sub_80397B4 sub_80397B4: @@ -8716,3991 +8716,4 @@ sub_803A1EC: bx r0 thumb_func_end sub_803A1EC - thumb_func_start CreateDebugMenu -CreateDebugMenu: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r5, _0803A270 - ldr r0, [r5] - cmp r0, 0 - bne _0803A224 - movs r4, 0xD2 - lsls r4, 1 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_0803A224: - mov r12, r5 - movs r0, 0xA0 - lsls r0, 1 - mov r8, r0 - ldr r4, _0803A274 - movs r3, 0 - movs r2, 0x3 -_0803A232: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - add r1, r8 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _0803A232 - bl ResetUnusedInputStruct - ldr r0, _0803A270 - ldr r0, [r0] - movs r6, 0xA0 - lsls r6, 1 - adds r0, r6 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl SetDebugMenuItems - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803A270: .4byte gUnknown_203B3EC -_0803A274: .4byte gUnknown_80E7D40 - thumb_func_end CreateDebugMenu - - thumb_func_start DeleteDebugMenu -DeleteDebugMenu: - push {r4,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _0803A2A0 - ldr r0, [r4] - cmp r0, 0 - beq _0803A298 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803A298: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A2A0: .4byte gUnknown_203B3EC - thumb_func_end DeleteDebugMenu - - thumb_func_start sub_803A2A4 -sub_803A2A4: - push {r4,r5,lr} - sub sp, 0x4 - ldr r4, _0803A2D4 - movs r0, 0xB - str r0, [sp] - ldr r5, _0803A2D8 - ldr r0, [r5] - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0803A2C4 - ldr r0, [r5] - mov r1, sp - bl sub_8013114 -_0803A2C4: - ldr r0, [sp] - cmp r0, 0xB - bhi _0803A34E - lsls r0, 2 - ldr r1, _0803A2DC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803A2D4: .4byte 0x0000ffdc -_0803A2D8: .4byte gUnknown_203B3EC -_0803A2DC: .4byte _0803A2E0 - .align 2, 0 -_0803A2E0: - .4byte _0803A310 - .4byte _0803A314 - .4byte _0803A318 - .4byte _0803A31C - .4byte _0803A320 - .4byte _0803A324 - .4byte _0803A328 - .4byte _0803A34E - .4byte _0803A34E - .4byte _0803A330 - .4byte _0803A344 - .4byte _0803A34C -_0803A310: - movs r4, 0x2F - b _0803A34E -_0803A314: - movs r4, 0x30 - b _0803A34E -_0803A318: - movs r4, 0x31 - b _0803A34E -_0803A31C: - movs r4, 0x32 - b _0803A34E -_0803A320: - movs r4, 0x33 - b _0803A34E -_0803A324: - movs r4, 0x34 - b _0803A34E -_0803A328: - bl sub_803A3BC - movs r4, 0x1 - b _0803A34E -_0803A330: - movs r4, 0 -_0803A332: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80976F8 - adds r4, 0x1 - cmp r4, 0x1F - ble _0803A332 - movs r4, 0x1 - b _0803A34E -_0803A344: - bl sub_803A3A0 - movs r4, 0x1 - b _0803A34E -_0803A34C: - ldr r4, _0803A358 -_0803A34E: - adds r0, r4, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0803A358: .4byte 0x0000ffdc - thumb_func_end sub_803A2A4 - - thumb_func_start SetDebugMenuItems -SetDebugMenuItems: - push {r4,lr} - sub sp, 0x10 - ldr r4, _0803A394 - ldr r0, [r4] - movs r2, 0xA0 - lsls r2, 1 - adds r1, r0, r2 - ldr r3, _0803A398 - ldr r2, _0803A39C - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0xD - str r2, [sp, 0x8] - movs r2, 0 - str r2, [sp, 0xC] - bl SetMenuItems - ldr r0, [r4] - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A394: .4byte gUnknown_203B3EC -_0803A398: .4byte gUnknown_80E7D58 -_0803A39C: .4byte gDebugMenuItems - thumb_func_end SetDebugMenuItems - - thumb_func_start sub_803A3A0 -sub_803A3A0: - push {lr} - ldr r0, _0803A3B8 - ldr r0, [r0] - movs r1, 0xA0 - lsls r1, 1 - adds r0, r1 - movs r1, 0 - bl sub_8035CC0 - pop {r0} - bx r0 - .align 2, 0 -_0803A3B8: .4byte gUnknown_203B3EC - thumb_func_end sub_803A3A0 - - thumb_func_start sub_803A3BC -sub_803A3BC: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x84 - movs r5, 0x1 - add r4, sp, 0x60 - add r6, sp, 0x68 - add r0, sp, 0x7C - mov r8, r0 - add r0, sp, 0x80 - mov r10, r0 -_0803A3D6: - lsls r0, r5, 24 - lsrs r0, 24 - bl UnlockFriendArea - adds r5, 0x1 - cmp r5, 0x39 - ble _0803A3D6 - movs r5, 0 - adds r7, r4, 0 -_0803A3E8: - movs r0, 0 - mov r9, r0 - ldr r0, _0803A454 - str r0, [sp, 0x7C] - adds r5, 0x1 - lsls r4, r5, 16 - asrs r4, 16 - adds r0, r7, 0 - movs r1, 0 - movs r2, 0x8 - bl memset - movs r0, 0x27 - strh r0, [r7] - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_808D8BC - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_80922F4 - movs r0, 0x40 - strb r0, [r6] - mov r0, r8 - str r0, [sp] - str r7, [sp, 0x4] - add r0, sp, 0x8 - adds r1, r4, 0 - adds r2, r6, 0 - movs r3, 0x43 - bl sub_808CFD0 - add r0, sp, 0x8 - bl sub_808D1DC - ldr r0, _0803A458 - cmp r5, r0 - ble _0803A3E8 - mov r0, r9 - str r0, [sp, 0x80] - mov r0, r10 - movs r1, 0x1 - bl sub_801203C - add sp, 0x84 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803A454: .4byte 0x00001006 -_0803A458: .4byte 0x0000012b - thumb_func_end sub_803A3BC - - thumb_func_start sub_803A45C -sub_803A45C: - push {r4,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _0803A488 - movs r0, 0x9C - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r0, 0 - bl sub_803A504 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0803A488: .4byte gUnknown_203B3F0 - thumb_func_end sub_803A45C - - thumb_func_start sub_803A48C -sub_803A48C: - push {lr} - ldr r0, _0803A4A4 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x5 - bhi _0803A4E0 - lsls r0, 2 - ldr r1, _0803A4A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803A4A4: .4byte gUnknown_203B3F0 -_0803A4A8: .4byte _0803A4AC - .align 2, 0 -_0803A4AC: - .4byte _0803A4C4 - .4byte _0803A4C4 - .4byte _0803A4CA - .4byte _0803A4D0 - .4byte _0803A4D6 - .4byte _0803A4DC -_0803A4C4: - bl sub_803A740 - b _0803A4E0 -_0803A4CA: - bl sub_803A7B0 - b _0803A4E0 -_0803A4D0: - bl sub_803A810 - b _0803A4E0 -_0803A4D6: - bl sub_803A86C - b _0803A4E0 -_0803A4DC: - movs r0, 0x3 - b _0803A4E2 -_0803A4E0: - movs r0, 0 -_0803A4E2: - pop {r1} - bx r1 - thumb_func_end sub_803A48C - - thumb_func_start sub_803A4E8 -sub_803A4E8: - push {r4,lr} - ldr r4, _0803A500 - ldr r0, [r4] - cmp r0, 0 - beq _0803A4FA - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803A4FA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A500: .4byte gUnknown_203B3F0 - thumb_func_end sub_803A4E8 - - thumb_func_start sub_803A504 -sub_803A504: - push {lr} - ldr r1, _0803A518 - ldr r1, [r1] - str r0, [r1] - bl sub_803A51C - bl sub_803A5A0 - pop {r0} - bx r0 - .align 2, 0 -_0803A518: .4byte gUnknown_203B3F0 - thumb_func_end sub_803A504 - - thumb_func_start sub_803A51C -sub_803A51C: - push {r4-r7,lr} - ldr r4, _0803A53C - ldr r0, [r4] - adds r0, 0xD8 - bl sub_8006518 - ldr r1, [r4] - ldr r0, [r1] - cmp r0, 0x2 - beq _0803A544 - cmp r0, 0x3 - bne _0803A55C - adds r1, 0xF0 - ldr r0, _0803A540 - b _0803A54C - .align 2, 0 -_0803A53C: .4byte gUnknown_203B3F0 -_0803A540: .4byte gUnknown_80E7E64 -_0803A544: - movs r0, 0x84 - lsls r0, 1 - adds r1, r0 - ldr r0, _0803A558 -_0803A54C: - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - b _0803A57E - .align 2, 0 -_0803A558: .4byte gUnknown_80E7E4C -_0803A55C: - mov r12, r4 - ldr r4, _0803A598 - movs r3, 0 - movs r2, 0x3 -_0803A564: - mov r0, r12 - ldr r1, [r0] - adds r1, r3 - adds r1, 0xD8 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _0803A564 -_0803A57E: - bl ResetUnusedInputStruct - ldr r0, _0803A59C - ldr r0, [r0] - adds r0, 0xD8 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803A598: .4byte gUnknown_80E7E34 -_0803A59C: .4byte gUnknown_203B3F0 - thumb_func_end sub_803A51C - - thumb_func_start sub_803A5A0 -sub_803A5A0: - push {lr} - sub sp, 0xC - ldr r1, _0803A5BC - ldr r0, [r1] - ldr r0, [r0] - adds r2, r1, 0 - cmp r0, 0x5 - bhi _0803A68A - lsls r0, 2 - ldr r1, _0803A5C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803A5BC: .4byte gUnknown_203B3F0 -_0803A5C0: .4byte _0803A5C4 - .align 2, 0 -_0803A5C4: - .4byte _0803A5DC - .4byte _0803A5EA - .4byte _0803A5F2 - .4byte _0803A61C - .4byte _0803A678 - .4byte _0803A68A -_0803A5DC: - movs r0, 0x2 - movs r1, 0x3 - movs r2, 0 - movs r3, 0xA - bl sub_801C8C4 - b _0803A68A -_0803A5EA: - movs r0, 0x1 - bl sub_801CB5C - b _0803A68A -_0803A5F2: - bl sub_801CCD8 - bl sub_803A6F0 - ldr r0, _0803A618 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x4C - adds r1, r2, 0 - adds r1, 0xC - ldr r2, [r2, 0x8] - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _0803A68A - .align 2, 0 -_0803A618: .4byte gUnknown_203B3F0 -_0803A61C: - ldr r3, [r2] - adds r1, r3, 0 - adds r1, 0xAC - movs r0, 0x3 - str r0, [r1] - subs r1, 0x8 - movs r0, 0 - str r0, [r1] - adds r1, 0x4 - ldr r0, _0803A670 - str r0, [r1] - adds r2, r3, 0 - adds r2, 0xA0 - ldr r0, _0803A674 - ldr r1, [r0] - ldrb r0, [r3, 0x4] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r0, [r1] - str r0, [r2] - adds r1, r3, 0 - adds r1, 0xB0 - movs r0, 0x1 - str r0, [r1] - adds r1, 0x4 - adds r0, r3, 0 - adds r0, 0xF0 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x2C - str r0, [r1] - adds r1, 0x4 - movs r0, 0x12 - str r0, [r1] - adds r0, r3, 0 - adds r0, 0x9C - bl sub_8013AA0 - bl sub_803A690 - b _0803A68A - .align 2, 0 -_0803A670: .4byte 0x000003e7 -_0803A674: .4byte gUnknown_203B460 -_0803A678: - ldr r0, [r2] - ldrb r1, [r0, 0x4] - add r0, sp, 0x8 - movs r2, 0 - bl sub_8090A8C - add r0, sp, 0x8 - bl sub_801B3C0 -_0803A68A: - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_803A5A0 - - thumb_func_start sub_803A690 -sub_803A690: - push {r4,lr} - sub sp, 0x4 - ldr r4, _0803A6E8 - ldr r0, [r4] - adds r0, 0xB0 - ldr r0, [r0] - bl sub_8008C54 - ldr r0, [r4] - adds r0, 0xB0 - ldr r0, [r0] - bl sub_80073B8 - ldr r2, _0803A6EC - ldr r0, [r4] - adds r0, 0xB0 - ldr r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - movs r1, 0 - bl xxx_call_draw_string - ldr r0, [r4] - adds r0, 0x9C - bl sub_8013C68 - ldr r0, [r4] - adds r0, 0xB0 - ldr r0, [r0] - bl sub_80073E0 - bl sub_801CCD8 - ldr r0, [r4] - adds r0, 0x4C - movs r1, 0 - bl sub_8012EA4 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A6E8: .4byte gUnknown_203B3F0 -_0803A6EC: .4byte gUnknown_80E7E7C - thumb_func_end sub_803A690 - - thumb_func_start sub_803A6F0 -sub_803A6F0: - push {r4,lr} - ldr r4, _0803A734 - ldr r1, [r4] - ldr r0, _0803A738 - str r0, [r1, 0xC] - movs r0, 0x2 - str r0, [r1, 0x10] - str r0, [r1, 0x8] - ldrb r0, [r1, 0x4] - bl sub_8091524 - lsls r0, 24 - cmp r0, 0 - bne _0803A718 - ldr r0, [r4] - movs r1, 0x1 - negs r1, r1 - str r1, [r0, 0x10] - movs r1, 0x3 - str r1, [r0, 0x8] -_0803A718: - ldr r1, [r4] - movs r2, 0x1 - ldr r0, _0803A73C - ldr r0, [r0] - str r0, [r1, 0x14] - movs r0, 0x3 - str r0, [r1, 0x18] - movs r0, 0 - str r0, [r1, 0x1C] - str r2, [r1, 0x20] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A734: .4byte gUnknown_203B3F0 -_0803A738: .4byte gUnknown_80E7E7C -_0803A73C: .4byte gUnknown_80D4970 - thumb_func_end sub_803A6F0 - - thumb_func_start sub_803A740 -sub_803A740: - push {lr} - movs r0, 0x1 - bl sub_801CA08 - cmp r0, 0x4 - bhi _0803A7AA - lsls r0, 2 - ldr r1, _0803A758 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803A758: .4byte _0803A75C - .align 2, 0 -_0803A75C: - .4byte _0803A7AA - .4byte _0803A7AA - .4byte _0803A7A0 - .4byte _0803A770 - .4byte _0803A788 -_0803A770: - bl sub_801CB24 - ldr r1, _0803A784 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x2 - bl sub_803A504 - b _0803A7AA - .align 2, 0 -_0803A784: .4byte gUnknown_203B3F0 -_0803A788: - bl sub_801CB24 - ldr r1, _0803A79C - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x4 - bl sub_803A504 - b _0803A7AA - .align 2, 0 -_0803A79C: .4byte gUnknown_203B3F0 -_0803A7A0: - bl sub_801CBB8 - movs r0, 0x5 - bl sub_803A504 -_0803A7AA: - pop {r0} - bx r0 - thumb_func_end sub_803A740 - - thumb_func_start sub_803A7B0 -sub_803A7B0: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_801CA08 - ldr r4, _0803A7E8 - ldr r0, [r4] - adds r0, 0x4C - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0803A7D6 - ldr r0, [r4] - adds r0, 0x4C - mov r1, sp - bl sub_8013114 -_0803A7D6: - ldr r0, [sp] - cmp r0, 0x2 - beq _0803A7F2 - cmp r0, 0x2 - bgt _0803A7EC - cmp r0, 0x1 - beq _0803A802 - b _0803A808 - .align 2, 0 -_0803A7E8: .4byte gUnknown_203B3F0 -_0803A7EC: - cmp r0, 0x3 - beq _0803A7FA - b _0803A808 -_0803A7F2: - movs r0, 0x3 - bl sub_803A504 - b _0803A808 -_0803A7FA: - movs r0, 0x4 - bl sub_803A504 - b _0803A808 -_0803A802: - movs r0, 0x1 - bl sub_803A504 -_0803A808: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803A7B0 - - thumb_func_start sub_803A810 -sub_803A810: - push {r4,lr} - movs r0, 0 - bl sub_801CA08 - ldr r4, _0803A838 - ldr r0, [r4] - adds r0, 0x4C - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0x9C - bl sub_8013BBC - cmp r0, 0x2 - beq _0803A854 - cmp r0, 0x2 - bhi _0803A83C - cmp r0, 0x1 - beq _0803A860 - b _0803A864 - .align 2, 0 -_0803A838: .4byte gUnknown_203B3F0 -_0803A83C: - cmp r0, 0x3 - bne _0803A864 - ldr r0, _0803A85C - ldr r2, [r0] - ldr r1, [r4] - ldrb r0, [r1, 0x4] - lsls r0, 1 - adds r2, 0x50 - adds r2, r0 - adds r1, 0x9C - ldr r0, [r1] - strh r0, [r2] -_0803A854: - movs r0, 0x1 - bl sub_803A504 - b _0803A864 - .align 2, 0 -_0803A85C: .4byte gUnknown_203B460 -_0803A860: - bl sub_803A690 -_0803A864: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803A810 - - thumb_func_start sub_803A86C -sub_803A86C: - push {lr} - bl sub_801B410 - cmp r0, 0x1 - bls _0803A884 - cmp r0, 0x3 - bhi _0803A884 - bl sub_801B450 - movs r0, 0x1 - bl sub_803A504 -_0803A884: - pop {r0} - bx r0 - thumb_func_end sub_803A86C - - thumb_func_start sub_803A888 -sub_803A888: - push {r4,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _0803A8B4 - movs r0, 0xFC - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r0, 0 - bl sub_803A924 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0803A8B4: .4byte gUnknown_203B3F4 - thumb_func_end sub_803A888 - - thumb_func_start sub_803A8B8 -sub_803A8B8: - push {lr} - ldr r0, _0803A8D0 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x4 - bhi _0803A902 - lsls r0, 2 - ldr r1, _0803A8D4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803A8D0: .4byte gUnknown_203B3F4 -_0803A8D4: .4byte _0803A8D8 - .align 2, 0 -_0803A8D8: - .4byte _0803A8EC - .4byte _0803A8EC - .4byte _0803A8F2 - .4byte _0803A8F8 - .4byte _0803A8FE -_0803A8EC: - bl sub_803AAC4 - b _0803A902 -_0803A8F2: - bl sub_803AB34 - b _0803A902 -_0803A8F8: - bl sub_803ABAC - b _0803A902 -_0803A8FE: - movs r0, 0x3 - b _0803A904 -_0803A902: - movs r0, 0 -_0803A904: - pop {r1} - bx r1 - thumb_func_end sub_803A8B8 - - thumb_func_start sub_803A908 -sub_803A908: - push {r4,lr} - ldr r4, _0803A920 - ldr r0, [r4] - cmp r0, 0 - beq _0803A91A - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803A91A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A920: .4byte gUnknown_203B3F4 - thumb_func_end sub_803A908 - - thumb_func_start sub_803A924 -sub_803A924: - push {lr} - ldr r1, _0803A938 - ldr r1, [r1] - str r0, [r1] - bl sub_803A93C - bl sub_803A9AC - pop {r0} - bx r0 - .align 2, 0 -_0803A938: .4byte gUnknown_203B3F4 - thumb_func_end sub_803A924 - - thumb_func_start sub_803A93C -sub_803A93C: - push {r4-r7,lr} - ldr r4, _0803A960 - ldr r0, [r4] - adds r0, 0x9C - bl sub_8006518 - ldr r1, [r4] - ldr r0, [r1] - cmp r0, 0x2 - bne _0803A968 - adds r1, 0xCC - ldr r0, _0803A964 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - b _0803A98A - .align 2, 0 -_0803A960: .4byte gUnknown_203B3F4 -_0803A964: .4byte gUnknown_80E7EA4 -_0803A968: - mov r12, r4 - ldr r4, _0803A9A4 - movs r3, 0 - movs r2, 0x3 -_0803A970: - mov r0, r12 - ldr r1, [r0] - adds r1, r3 - adds r1, 0x9C - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _0803A970 -_0803A98A: - bl ResetUnusedInputStruct - ldr r0, _0803A9A8 - ldr r0, [r0] - adds r0, 0x9C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803A9A4: .4byte gUnknown_80E7E8C -_0803A9A8: .4byte gUnknown_203B3F4 - thumb_func_end sub_803A93C - - thumb_func_start sub_803A9AC -sub_803A9AC: - push {lr} - sub sp, 0x8 - ldr r1, _0803A9C8 - ldr r0, [r1] - ldr r0, [r0] - adds r2, r1, 0 - cmp r0, 0x4 - bhi _0803AA2C - lsls r0, 2 - ldr r1, _0803A9CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803A9C8: .4byte gUnknown_203B3F4 -_0803A9CC: .4byte _0803A9D0 - .align 2, 0 -_0803A9D0: - .4byte _0803A9E4 - .4byte _0803A9EE - .4byte _0803A9F6 - .4byte _0803AA20 - .4byte _0803AA2C -_0803A9E4: - movs r0, 0 - movs r1, 0x3 - bl sub_80211AC - b _0803AA2C -_0803A9EE: - movs r0, 0x1 - bl sub_8021354 - b _0803AA2C -_0803A9F6: - bl sub_8021494 - bl sub_803AA34 - ldr r0, _0803AA1C - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x4C - adds r1, r2, 0 - adds r1, 0xC - ldr r2, [r2, 0x8] - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _0803AA2C - .align 2, 0 -_0803AA1C: .4byte gUnknown_203B3F4 -_0803AA20: - ldr r0, [r2] - ldrb r0, [r0, 0x4] - movs r1, 0x1 - movs r2, 0 - bl sub_8021774 -_0803AA2C: - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_803A9AC - - thumb_func_start sub_803AA34 -sub_803AA34: - push {r4,r5,lr} - movs r4, 0 - ldr r0, _0803AA64 - ldr r1, [r0] - ldr r2, _0803AA68 - ldr r3, [r2] - ldrb r0, [r3, 0x4] - adds r1, r0 - ldrb r0, [r1] - adds r5, r2, 0 - cmp r0, 0 - beq _0803AA7A - ldr r0, _0803AA6C - str r0, [r3, 0xC] - bl sub_803ABC8 - lsls r0, 24 - cmp r0, 0 - beq _0803AA70 - ldr r1, [r5] - movs r0, 0x3 - str r0, [r1, 0x10] - b _0803AA82 - .align 2, 0 -_0803AA64: .4byte gFriendAreas -_0803AA68: .4byte gUnknown_203B3F4 -_0803AA6C: .4byte gUnknown_80E7EBC -_0803AA70: - ldr r1, [r5] - movs r0, 0x1 - negs r0, r0 - str r0, [r1, 0x10] - b _0803AA82 -_0803AA7A: - ldr r0, _0803AABC - str r0, [r3, 0xC] - movs r0, 0x2 - str r0, [r3, 0x10] -_0803AA82: - adds r4, 0x1 - ldr r5, [r5] - mov r12, r5 - lsls r1, r4, 3 - mov r3, r12 - adds r3, 0xC - adds r2, r3, r1 - ldr r0, _0803AAC0 - ldr r0, [r0] - str r0, [r2] - mov r2, r12 - adds r2, 0x10 - adds r1, r2, r1 - movs r0, 0x4 - str r0, [r1] - adds r4, 0x1 - lsls r1, r4, 3 - adds r3, r1 - movs r0, 0 - str r0, [r3] - adds r2, r1 - movs r0, 0x1 - str r0, [r2] - mov r1, r12 - ldr r0, [r1, 0x10] - str r0, [r1, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803AABC: .4byte gUnknown_80E7EC4 -_0803AAC0: .4byte gUnknown_80D4970 - thumb_func_end sub_803AA34 - - thumb_func_start sub_803AAC4 -sub_803AAC4: - push {lr} - movs r0, 0x1 - bl sub_8021274 - cmp r0, 0x4 - bhi _0803AB2E - lsls r0, 2 - ldr r1, _0803AADC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803AADC: .4byte _0803AAE0 - .align 2, 0 -_0803AAE0: - .4byte _0803AB2E - .4byte _0803AB2E - .4byte _0803AB24 - .4byte _0803AAF4 - .4byte _0803AB0C -_0803AAF4: - bl sub_802132C - ldr r1, _0803AB08 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x2 - bl sub_803A924 - b _0803AB2E - .align 2, 0 -_0803AB08: .4byte gUnknown_203B3F4 -_0803AB0C: - bl sub_802132C - ldr r1, _0803AB20 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x3 - bl sub_803A924 - b _0803AB2E - .align 2, 0 -_0803AB20: .4byte gUnknown_203B3F4 -_0803AB24: - bl sub_80213A0 - movs r0, 0x4 - bl sub_803A924 -_0803AB2E: - pop {r0} - bx r0 - thumb_func_end sub_803AAC4 - - thumb_func_start sub_803AB34 -sub_803AB34: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_8021274 - ldr r4, _0803AB6C - ldr r0, [r4] - adds r0, 0x4C - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0803AB5A - ldr r0, [r4] - adds r0, 0x4C - mov r1, sp - bl sub_8013114 -_0803AB5A: - ldr r0, [sp] - cmp r0, 0x2 - beq _0803AB7A - cmp r0, 0x2 - bgt _0803AB70 - cmp r0, 0x1 - beq _0803AB9E - b _0803ABA4 - .align 2, 0 -_0803AB6C: .4byte gUnknown_203B3F4 -_0803AB70: - cmp r0, 0x3 - beq _0803AB84 - cmp r0, 0x4 - beq _0803AB96 - b _0803ABA4 -_0803AB7A: - ldr r0, [r4] - ldrb r0, [r0, 0x4] - bl UnlockFriendArea - b _0803AB8E -_0803AB84: - ldr r0, [r4] - ldrb r0, [r0, 0x4] - movs r1, 0x1 - bl sub_809249C -_0803AB8E: - movs r0, 0x1 - bl sub_803A924 - b _0803ABA4 -_0803AB96: - movs r0, 0x3 - bl sub_803A924 - b _0803ABA4 -_0803AB9E: - movs r0, 0x1 - bl sub_803A924 -_0803ABA4: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803AB34 - - thumb_func_start sub_803ABAC -sub_803ABAC: - push {lr} - bl sub_80217EC - cmp r0, 0x1 - bls _0803ABC4 - cmp r0, 0x3 - bhi _0803ABC4 - bl sub_8021830 - movs r0, 0x1 - bl sub_803A924 -_0803ABC4: - pop {r0} - bx r0 - thumb_func_end sub_803ABAC - - thumb_func_start sub_803ABC8 -sub_803ABC8: - push {r4-r6,lr} - movs r5, 0 - movs r6, 0x1 -_0803ABCE: - ldr r2, _0803AC08 - movs r0, 0x58 - adds r1, r5, 0 - muls r1, r0 - ldr r0, [r2] - adds r2, r0, r1 - ldrh r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0803AC10 - lsrs r0, r1, 1 - ands r0, r6 - cmp r0, 0 - beq _0803AC10 - ldr r0, _0803AC0C - ldr r4, [r0] - movs r1, 0x8 - ldrsh r0, [r2, r1] - bl GetFriendArea - ldrb r1, [r4, 0x4] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _0803AC10 - movs r0, 0 - b _0803AC1C - .align 2, 0 -_0803AC08: .4byte gUnknown_203B45C -_0803AC0C: .4byte gUnknown_203B3F4 -_0803AC10: - adds r5, 0x1 - movs r0, 0xCE - lsls r0, 1 - cmp r5, r0 - ble _0803ABCE - movs r0, 0x1 -_0803AC1C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_803ABC8 - - thumb_func_start sub_803AC24 -sub_803AC24: - push {r4,lr} - ldr r4, _0803AC44 - movs r0, 0xA0 - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r0, 0 - bl sub_803ACD0 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0803AC44: .4byte gUnknown_203B3F8 - thumb_func_end sub_803AC24 - - thumb_func_start sub_803AC48 -sub_803AC48: - push {lr} - ldr r0, _0803AC60 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x7 - bhi _0803ACA8 - lsls r0, 2 - ldr r1, _0803AC64 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803AC60: .4byte gUnknown_203B3F8 -_0803AC64: .4byte _0803AC68 - .align 2, 0 -_0803AC68: - .4byte _0803AC88 - .4byte _0803AC90 - .4byte _0803AC90 - .4byte _0803AC96 - .4byte _0803ACA8 - .4byte _0803AC9C - .4byte _0803ACA2 - .4byte _0803ACA8 -_0803AC88: - movs r0, 0x1 - bl sub_803ACD0 - b _0803ACAC -_0803AC90: - bl sub_803AF38 - b _0803ACAC -_0803AC96: - bl sub_803AF88 - b _0803ACAC -_0803AC9C: - bl sub_803AFE8 - b _0803ACAC -_0803ACA2: - bl sub_803B034 - b _0803ACAC -_0803ACA8: - movs r0, 0x3 - b _0803ACAE -_0803ACAC: - movs r0, 0 -_0803ACAE: - pop {r1} - bx r1 - thumb_func_end sub_803AC48 - - thumb_func_start sub_803ACB4 -sub_803ACB4: - push {r4,lr} - ldr r4, _0803ACCC - ldr r0, [r4] - cmp r0, 0 - beq _0803ACC6 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803ACC6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803ACCC: .4byte gUnknown_203B3F8 - thumb_func_end sub_803ACB4 - - thumb_func_start sub_803ACD0 -sub_803ACD0: - push {lr} - ldr r1, _0803ACE4 - ldr r1, [r1] - str r0, [r1] - bl sub_803ACE8 - bl sub_803AD88 - pop {r0} - bx r0 - .align 2, 0 -_0803ACE4: .4byte gUnknown_203B3F8 - thumb_func_end sub_803ACD0 - - thumb_func_start sub_803ACE8 -sub_803ACE8: - push {r4-r7,lr} - ldr r4, _0803AD08 - ldr r0, [r4] - adds r0, 0xE0 - bl sub_8006518 - ldr r1, [r4] - ldr r0, [r1] - cmp r0, 0x3 - beq _0803AD10 - cmp r0, 0x5 - beq _0803AD38 - movs r2, 0 - ldr r3, _0803AD0C - b _0803AD50 - .align 2, 0 -_0803AD08: .4byte gUnknown_203B3F8 -_0803AD0C: .4byte gUnknown_80E7ED4 -_0803AD10: - bl sub_803AEB0 - ldr r2, [r4] - movs r0, 0x88 - lsls r0, 1 - adds r2, r0 - ldr r1, _0803AD34 - ldm r1!, {r3,r5,r6} - stm r2!, {r3,r5,r6} - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldr r1, [r4] - adds r0, r1, r0 - adds r1, 0x90 - bl sub_8012CAC - b _0803AD6C - .align 2, 0 -_0803AD34: .4byte gUnknown_80E7EEC -_0803AD38: - movs r6, 0x94 - lsls r6, 1 - adds r1, r6 - ldr r0, _0803AD4C - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - b _0803AD6C - .align 2, 0 -_0803AD4C: .4byte gUnknown_80E7F04 -_0803AD50: - ldr r0, [r4] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 3 - adds r0, r1 - adds r0, 0xE0 - adds r1, r3, 0 - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - adds r2, 0x1 - cmp r2, 0x3 - ble _0803AD50 -_0803AD6C: - bl ResetUnusedInputStruct - ldr r0, _0803AD84 - ldr r0, [r0] - adds r0, 0xE0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803AD84: .4byte gUnknown_203B3F8 - thumb_func_end sub_803ACE8 - - thumb_func_start sub_803AD88 -sub_803AD88: - push {lr} - sub sp, 0x8 - ldr r1, _0803ADA4 - ldr r0, [r1] - ldr r0, [r0] - adds r2, r1, 0 - cmp r0, 0x7 - bhi _0803AE50 - lsls r0, 2 - ldr r1, _0803ADA8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803ADA4: .4byte gUnknown_203B3F8 -_0803ADA8: .4byte _0803ADAC - .align 2, 0 -_0803ADAC: - .4byte _0803AE50 - .4byte _0803ADCC - .4byte _0803ADDA - .4byte _0803ADE2 - .4byte _0803AE50 - .4byte _0803AE0C - .4byte _0803AE44 - .4byte _0803AE50 -_0803ADCC: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0xA - bl sub_8023868 - b _0803AE50 -_0803ADDA: - movs r0, 0x1 - bl sub_8023B7C - b _0803AE50 -_0803ADE2: - bl sub_8023DA4 - ldr r0, _0803AE08 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x10 - adds r1, r2, 0 - adds r1, 0x90 - adds r3, r2, 0 - adds r3, 0xD0 - ldr r2, [r2, 0xC] - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - bl sub_8012D60 - b _0803AE50 - .align 2, 0 -_0803AE08: .4byte gUnknown_203B3F8 -_0803AE0C: - ldr r2, [r2] - movs r1, 0x3 - str r1, [r2, 0x70] - movs r0, 0x1 - str r0, [r2, 0x68] - movs r0, 0x64 - str r0, [r2, 0x6C] - ldr r0, [r2, 0x8] - ldrb r0, [r0, 0x3] - str r0, [r2, 0x64] - str r1, [r2, 0x74] - movs r1, 0x94 - lsls r1, 1 - adds r0, r2, r1 - str r0, [r2, 0x78] - movs r0, 0x2C - str r0, [r2, 0x7C] - adds r1, r2, 0 - adds r1, 0x80 - movs r0, 0x12 - str r0, [r1] - adds r0, r2, 0 - adds r0, 0x60 - bl sub_8013AA0 - bl sub_803AE58 - b _0803AE50 -_0803AE44: - ldr r0, [r2] - ldr r1, [r0, 0x8] - adds r1, 0x4C - movs r0, 0x2 - bl sub_801602C -_0803AE50: - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_803AD88 - - thumb_func_start sub_803AE58 -sub_803AE58: - push {r4,lr} - sub sp, 0x4 - ldr r4, _0803AEA8 - ldr r0, [r4] - ldr r0, [r0, 0x74] - bl sub_8008C54 - ldr r0, [r4] - ldr r0, [r0, 0x74] - bl sub_80073B8 - ldr r2, _0803AEAC - ldr r0, [r4] - ldr r3, [r0, 0x74] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - movs r1, 0 - bl xxx_call_draw_string - ldr r0, [r4] - adds r0, 0x60 - bl sub_8013C68 - ldr r0, [r4] - ldr r0, [r0, 0x74] - bl sub_80073E0 - bl sub_8023DA4 - ldr r0, [r4] - adds r0, 0x10 - movs r1, 0 - bl sub_8012EA4 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803AEA8: .4byte gUnknown_203B3F8 -_0803AEAC: .4byte gUnknown_80E7F1C - thumb_func_end sub_803AE58 - - thumb_func_start sub_803AEB0 -sub_803AEB0: - push {r4-r6,lr} - ldr r4, _0803AEFC - ldr r0, [r4] - adds r0, 0xD0 - movs r1, 0 - movs r2, 0x10 - bl MemoryFill16 - ldr r4, [r4] - movs r3, 0 - adds r1, r4, 0 - adds r1, 0x90 - ldr r0, _0803AF00 - str r0, [r1] - adds r5, r4, 0 - adds r5, 0x94 - movs r0, 0x4 - str r0, [r5] - movs r2, 0x1 - adds r1, 0x8 - ldr r0, _0803AF04 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x5 - str r0, [r1] - movs r6, 0x2 - adds r0, r4, 0 - adds r0, 0xA0 - str r3, [r0] - adds r0, 0x4 - str r2, [r0] - adds r0, 0x2C - ldrh r0, [r0] - cmp r0, 0 - bne _0803AF08 - ldr r0, [r5] - str r0, [r4, 0xC] - b _0803AF2C - .align 2, 0 -_0803AEFC: .4byte gUnknown_203B3F8 -_0803AF00: .4byte gUnknown_80E7F24 -_0803AF04: .4byte gUnknown_80E7F2C -_0803AF08: - adds r3, 0x1 - cmp r3, r6 - bge _0803AF2C - ldr r0, _0803AF34 - ldr r2, [r0] - lsls r1, r3, 1 - adds r0, r2, 0 - adds r0, 0xD0 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _0803AF08 - lsls r0, r3, 3 - adds r1, r2, 0 - adds r1, 0x94 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0xC] -_0803AF2C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803AF34: .4byte gUnknown_203B3F8 - thumb_func_end sub_803AEB0 - - thumb_func_start sub_803AF38 -sub_803AF38: - push {lr} - movs r0, 0x1 - bl sub_8023A94 - cmp r0, 0x2 - beq _0803AF78 - cmp r0, 0x2 - bcc _0803AF82 - cmp r0, 0x3 - bne _0803AF82 - bl sub_8023B44 - ldr r1, _0803AF70 - ldr r1, [r1] - strh r0, [r1, 0x4] - ldr r3, _0803AF74 - movs r0, 0x4 - ldrsh r2, [r1, r0] - movs r0, 0x58 - muls r2, r0 - ldr r0, [r3] - adds r0, r2 - str r0, [r1, 0x8] - movs r0, 0x3 - bl sub_803ACD0 - b _0803AF82 - .align 2, 0 -_0803AF70: .4byte gUnknown_203B3F8 -_0803AF74: .4byte gUnknown_203B45C -_0803AF78: - bl sub_8023C60 - movs r0, 0x7 - bl sub_803ACD0 -_0803AF82: - pop {r0} - bx r0 - thumb_func_end sub_803AF38 - - thumb_func_start sub_803AF88 -sub_803AF88: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_8023A94 - ldr r4, _0803AFC0 - ldr r0, [r4] - adds r0, 0x10 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0803AFAE - ldr r0, [r4] - adds r0, 0x10 - mov r1, sp - bl sub_8013114 -_0803AFAE: - ldr r0, [sp] - cmp r0, 0x4 - beq _0803AFCA - cmp r0, 0x4 - bgt _0803AFC4 - cmp r0, 0x1 - beq _0803AFDA - b _0803AFE0 - .align 2, 0 -_0803AFC0: .4byte gUnknown_203B3F8 -_0803AFC4: - cmp r0, 0x5 - beq _0803AFD2 - b _0803AFE0 -_0803AFCA: - movs r0, 0x5 - bl sub_803ACD0 - b _0803AFE0 -_0803AFD2: - movs r0, 0x6 - bl sub_803ACD0 - b _0803AFE0 -_0803AFDA: - movs r0, 0x2 - bl sub_803ACD0 -_0803AFE0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803AF88 - - thumb_func_start sub_803AFE8 -sub_803AFE8: - push {r4,lr} - movs r0, 0 - bl sub_8023A94 - ldr r4, _0803B010 - ldr r0, [r4] - adds r0, 0x10 - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0x60 - bl sub_8013BBC - cmp r0, 0x2 - beq _0803B020 - cmp r0, 0x2 - bhi _0803B014 - cmp r0, 0x1 - beq _0803B028 - b _0803B02C - .align 2, 0 -_0803B010: .4byte gUnknown_203B3F8 -_0803B014: - cmp r0, 0x3 - bne _0803B02C - ldr r0, [r4] - ldr r1, [r0, 0x8] - ldr r0, [r0, 0x60] - strb r0, [r1, 0x3] -_0803B020: - movs r0, 0x2 - bl sub_803ACD0 - b _0803B02C -_0803B028: - bl sub_803AE58 -_0803B02C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803AFE8 - - thumb_func_start sub_803B034 -sub_803B034: - push {lr} - bl sub_8016080 - cmp r0, 0x3 - bhi _0803B04C - cmp r0, 0x2 - bcc _0803B04C - bl sub_80160D8 - movs r0, 0x2 - bl sub_803ACD0 -_0803B04C: - pop {r0} - bx r0 - thumb_func_end sub_803B034 - - thumb_func_start sub_803B050 -sub_803B050: - push {r4-r7,lr} - ldr r4, _0803B0F4 - movs r0, 0xF4 - lsls r0, 2 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r1, 0x3 - str r1, [r0, 0x34] - adds r1, r0, 0 - adds r1, 0x84 - str r1, [r0, 0x38] - adds r0, 0x3C - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x34] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x3C - ldr r0, _0803B0F8 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r4] - ldr r1, [r0, 0x38] - adds r0, 0x9C - str r0, [r1, 0x14] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r2, 0 - movs r3, 0 - movs r7, 0xCB - lsls r7, 1 - movs r6, 0x80 - lsls r6, 9 - movs r5, 0 -_0803B0AE: - ldr r0, _0803B0FC - adds r0, r5, r0 - movs r1, 0x2 - ldrsh r0, [r0, r1] - ldr r4, _0803B0F4 - cmp r0, 0xA - bne _0803B0C8 - ldr r0, [r4] - lsls r1, r2, 1 - adds r0, 0xA0 - adds r0, r1 - strh r3, [r0] - adds r2, 0x1 -_0803B0C8: - adds r0, r6, 0 - movs r3, 0x80 - lsls r3, 9 - adds r6, r3 - adds r5, 0xC - asrs r3, r0, 16 - cmp r3, r7 - ble _0803B0AE - ldr r0, [r4] - ldr r3, [r0, 0x34] - adds r1, r2, 0 - movs r2, 0xA - bl sub_8013818 - bl sub_803B204 - bl sub_803B284 - movs r0, 0x1 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0803B0F4: .4byte gUnknown_203B3FC -_0803B0F8: .4byte gUnknown_80E7F54 -_0803B0FC: .4byte gFunctionScriptTable - thumb_func_end sub_803B050 - - thumb_func_start sub_803B100 -sub_803B100: - push {lr} - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - ldr r0, _0803B11C - ldr r0, [r0] - bl sub_8013878 - bl sub_803B204 - bl sub_803B284 - pop {r0} - bx r0 - .align 2, 0 -_0803B11C: .4byte gUnknown_203B3FC - thumb_func_end sub_803B100 - - thumb_func_start sub_803B120 -sub_803B120: - push {r4,lr} - ldr r4, _0803B13C - ldr r0, [r4] - bl GetKeyPress - cmp r0, 0x1 - beq _0803B140 - cmp r0, 0x2 - bne _0803B144 - movs r0, 0x1 - bl sub_80119D4 - movs r0, 0x2 - b _0803B160 - .align 2, 0 -_0803B13C: .4byte gUnknown_203B3FC -_0803B140: - movs r0, 0x3 - b _0803B160 -_0803B144: - ldr r0, [r4] - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0803B156 - movs r0, 0 - b _0803B160 -_0803B156: - bl sub_803B204 - bl sub_803B284 - movs r0, 0x1 -_0803B160: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_803B120 - - thumb_func_start sub_803B168 -sub_803B168: - ldr r0, _0803B188 - ldr r0, [r0] - movs r1, 0x1E - ldrsh r2, [r0, r1] - movs r3, 0x1C - ldrsh r1, [r0, r3] - muls r1, r2 - movs r3, 0x18 - ldrsh r2, [r0, r3] - adds r1, r2 - lsls r1, 1 - adds r0, 0xA0 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_0803B188: .4byte gUnknown_203B3FC - thumb_func_end sub_803B168 - - thumb_func_start sub_803B18C -sub_803B18C: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _0803B1B8 - ldr r0, [r5] - movs r1, 0xE5 - strh r1, [r0, 0x22] - bl sub_8013984 - bl sub_803B204 - bl sub_803B284 - cmp r4, 0 - beq _0803B1B2 - ldr r0, [r5] - bl AddMenuCursorSprite -_0803B1B2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803B1B8: .4byte gUnknown_203B3FC - thumb_func_end sub_803B18C - - thumb_func_start sub_803B1BC -sub_803B1BC: - push {r4,r5,lr} - ldr r4, _0803B1FC - ldr r2, [r4] - cmp r2, 0 - beq _0803B1F6 - ldr r0, [r2, 0x34] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x3C - ldr r0, _0803B200 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803B1F6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803B1FC: .4byte gUnknown_203B3FC -_0803B200: .4byte gUnknown_80E7F3C - thumb_func_end sub_803B1BC - - thumb_func_start sub_803B204 -sub_803B204: - push {r4,lr} - ldr r4, _0803B280 - ldr r0, [r4] - adds r0, 0x9C - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9D - strb r2, [r0] - ldr r0, [r4] - adds r0, 0x9E - movs r1, 0x8 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9F - strb r2, [r0] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x1A - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x34] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x4A - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x34] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x4C - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803B280: .4byte gUnknown_203B3FC - thumb_func_end sub_803B204 - - thumb_func_start sub_803B284 -sub_803B284: - push {r4-r6,lr} - sub sp, 0x8 - ldr r6, _0803B338 - ldr r0, [r6] - ldr r0, [r0, 0x34] - bl sub_8008C54 - ldr r0, [r6] - ldr r0, [r0, 0x34] - bl sub_80073B8 - ldr r2, _0803B33C - ldr r0, [r6] - ldr r3, [r0, 0x34] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_call_draw_string - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x9E - ldrb r4, [r0] - lsls r4, 3 - subs r4, 0x2 - movs r0, 0x1E - ldrsh r2, [r1, r0] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r1, 0x34] - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r5, 0 - ldr r0, [r6] - movs r1, 0x1A - ldrsh r0, [r0, r1] - cmp r5, r0 - bge _0803B324 -_0803B2DC: - ldr r0, [r6] - movs r3, 0x1E - ldrsh r2, [r0, r3] - movs r3, 0x1C - ldrsh r1, [r0, r3] - muls r2, r1 - adds r2, r5 - lsls r2, 1 - adds r1, r0, 0 - adds r1, 0xA0 - adds r1, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - lsls r4, r1, 1 - adds r4, r1 - lsls r4, 2 - ldr r1, _0803B340 - adds r4, r1 - adds r1, r5, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r2, [r4, 0x4] - ldr r0, [r6] - ldr r3, [r0, 0x34] - movs r0, 0 - str r0, [sp] - movs r0, 0x8 - bl xxx_call_draw_string - adds r5, 0x1 - ldr r0, [r6] - movs r3, 0x1A - ldrsh r0, [r0, r3] - cmp r5, r0 - blt _0803B2DC -_0803B324: - ldr r0, _0803B338 - ldr r0, [r0] - ldr r0, [r0, 0x34] - bl sub_80073E0 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803B338: .4byte gUnknown_203B3FC -_0803B33C: .4byte gUnknown_80E7F6C -_0803B340: .4byte gFunctionScriptTable - thumb_func_end sub_803B284 - - thumb_func_start sub_803B344 -sub_803B344: - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _0803B358 - adds r0, r1 - bx lr - .align 2, 0 -_0803B358: .4byte gUnknown_80E7F94 - thumb_func_end sub_803B344 - - thumb_func_start sub_803B35C -sub_803B35C: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r1, 0x18 - bl sub_803C21C - ldrb r0, [r5, 0x2] - subs r0, 0x1 - cmp r0, 0x8 - bls _0803B372 - b _0803B4FA -_0803B372: - lsls r0, 2 - ldr r1, _0803B37C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803B37C: .4byte _0803B380 - .align 2, 0 -_0803B380: - .4byte _0803B3A4 - .4byte _0803B3BE - .4byte _0803B3D8 - .4byte _0803B3F2 - .4byte _0803B414 - .4byte _0803B442 - .4byte _0803B470 - .4byte _0803B49E - .4byte _0803B4CC -_0803B3A4: - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0 - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x6 - strb r0, [r1] - subs r1, 0x14 - movs r0, 0x5 - b _0803B576 -_0803B3BE: - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0x1 - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x6 - strb r0, [r1] - subs r1, 0x14 - movs r0, 0x5 - b _0803B576 -_0803B3D8: - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0x2 - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x6 - strb r0, [r1] - subs r1, 0x14 - movs r0, 0x5 - b _0803B576 -_0803B3F2: - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0x3 - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x6 - strb r0, [r1] - bl sub_8096DD8 - str r0, [r4, 0x4C] - bl sub_8096DE8 - str r0, [r4, 0x50] - b _0803B578 -_0803B414: - ldrb r0, [r5, 0x1] - cmp r0, 0x3 - bne _0803B42A - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0xB - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x1 - b _0803B438 -_0803B42A: - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0xC - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x2 -_0803B438: - strb r0, [r1] - adds r1, r4, 0 - adds r1, 0x41 - movs r0, 0x4 - b _0803B576 -_0803B442: - ldrb r0, [r5, 0x1] - cmp r0, 0x3 - bne _0803B458 - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0xB - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x1 - b _0803B466 -_0803B458: - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0xC - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x2 -_0803B466: - strb r0, [r1] - adds r1, r4, 0 - adds r1, 0x41 - movs r0, 0x5 - b _0803B576 -_0803B470: - adds r0, r5, 0 - bl sub_803B600 - str r0, [r4, 0x4] - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0803B488 - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0x9 - b _0803B48E -_0803B488: - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0x4 -_0803B48E: - strb r0, [r1] - adds r1, r4, 0 - adds r1, 0x41 - movs r0, 0x6 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x4 - b _0803B576 -_0803B49E: - adds r0, r5, 0 - bl sub_803B628 - str r0, [r4, 0x4] - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0803B4B6 - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0x9 - b _0803B4BC -_0803B4B6: - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0x5 -_0803B4BC: - strb r0, [r1] - adds r1, r4, 0 - adds r1, 0x41 - movs r0, 0x7 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x4 - b _0803B576 -_0803B4CC: - adds r0, r5, 0 - bl sub_803B66C - str r0, [r4, 0x4] - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0803B4E4 - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0xA - b _0803B4EA -_0803B4E4: - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0x6 -_0803B4EA: - strb r0, [r1] - adds r1, r4, 0 - adds r1, 0x41 - movs r0, 0x8 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x5 - b _0803B576 -_0803B4FA: - ldrb r0, [r5, 0x1] - cmp r0, 0x2 - beq _0803B528 - cmp r0, 0x2 - bgt _0803B50A - cmp r0, 0x1 - beq _0803B514 - b _0803B564 -_0803B50A: - cmp r0, 0x3 - beq _0803B53C - cmp r0, 0x4 - beq _0803B550 - b _0803B564 -_0803B514: - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0x9 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0xD - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x4 - b _0803B576 -_0803B528: - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0xA - strb r0, [r1] - adds r1, 0x1 - movs r0, 0xE - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x5 - b _0803B576 -_0803B53C: - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0xB - strb r0, [r1] - adds r1, 0x1 - movs r0, 0xF - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x1 - b _0803B576 -_0803B550: - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0xC - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x10 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x2 - b _0803B576 -_0803B564: - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0x8 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0xC - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x3 -_0803B576: - strb r0, [r1] -_0803B578: - adds r0, r5, 0x4 - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] - ldrh r0, [r5, 0xC] - movs r1, 0 - strh r0, [r4, 0x10] - ldrh r0, [r5, 0xE] - strh r0, [r4, 0x12] - ldrb r0, [r5, 0x10] - strb r0, [r4, 0x14] - ldrb r0, [r5] - subs r0, 0x2 - cmp r0, 0x7 - bhi _0803B5EC - lsls r0, 2 - ldr r1, _0803B5A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803B5A0: .4byte _0803B5A4 - .align 2, 0 -_0803B5A4: - .4byte _0803B5C4 - .4byte _0803B5C4 - .4byte _0803B5C4 - .4byte _0803B5C4 - .4byte _0803B5DC - .4byte _0803B5CC - .4byte _0803B5DC - .4byte _0803B5DC -_0803B5C4: - adds r0, r4, 0 - adds r0, 0x43 - movs r1, 0x1 - b _0803B5F0 -_0803B5CC: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x3 - strb r0, [r1] - b _0803B5F6 -_0803B5DC: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x3 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x2 - strb r0, [r1] - b _0803B5F6 -_0803B5EC: - adds r0, r4, 0 - adds r0, 0x43 -_0803B5F0: - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] -_0803B5F6: - str r5, [r4, 0x54] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_803B35C - - thumb_func_start sub_803B600 -sub_803B600: - push {lr} - ldr r2, _0803B614 - movs r1, 0 - ldr r3, [r0, 0xC] -_0803B608: - ldr r0, [r2] - cmp r0, r3 - bne _0803B618 - adds r0, r1, 0 - b _0803B624 - .align 2, 0 -_0803B614: .4byte gUnknown_80E9920 -_0803B618: - adds r2, 0x8 - adds r1, 0x1 - cmp r1, 0x14 - ble _0803B608 - movs r0, 0x1 - negs r0, r0 -_0803B624: - pop {r1} - bx r1 - thumb_func_end sub_803B600 - - thumb_func_start sub_803B628 -sub_803B628: - push {r4,r5,lr} - adds r4, r0, 0 - ldr r2, _0803B654 - movs r3, 0 -_0803B630: - ldr r1, [r2] - ldr r0, [r4, 0xC] - cmp r1, r0 - beq _0803B650 - movs r0, 0x2 - ldrsh r1, [r2, r0] - movs r5, 0xC - ldrsh r0, [r4, r5] - cmp r1, r0 - bne _0803B658 - movs r0, 0 - ldrsh r1, [r2, r0] - movs r5, 0xE - ldrsh r0, [r4, r5] - cmp r1, r0 - bne _0803B658 -_0803B650: - adds r0, r3, 0 - b _0803B664 - .align 2, 0 -_0803B654: .4byte gUnknown_80E9F8C -_0803B658: - adds r2, 0xC - adds r3, 0x1 - cmp r3, 0x2C - ble _0803B630 - movs r0, 0x1 - negs r0, r0 -_0803B664: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_803B628 - - thumb_func_start sub_803B66C -sub_803B66C: - push {r4,r5,lr} - adds r4, r0, 0 - ldr r2, _0803B698 - movs r3, 0 -_0803B674: - ldr r1, [r2] - ldr r0, [r4, 0xC] - cmp r1, r0 - beq _0803B694 - movs r0, 0x2 - ldrsh r1, [r2, r0] - movs r5, 0xC - ldrsh r0, [r4, r5] - cmp r1, r0 - bne _0803B69C - movs r0, 0 - ldrsh r1, [r2, r0] - movs r5, 0xE - ldrsh r0, [r4, r5] - cmp r1, r0 - bne _0803B69C -_0803B694: - adds r0, r3, 0 - b _0803B6A8 - .align 2, 0 -_0803B698: .4byte gUnknown_80E8168 -_0803B69C: - adds r2, 0x4 - adds r3, 0x1 - cmp r3, 0x5 - ble _0803B674 - movs r0, 0x1 - negs r0, r0 -_0803B6A8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_803B66C - - thumb_func_start sub_803B6B0 -sub_803B6B0: - push {r4,lr} - sub sp, 0x4 - lsls r2, 24 - ldr r4, _0803B6D0 - lsrs r2, 22 - adds r2, r4 - ldr r2, [r2] - movs r4, 0 - str r4, [sp] - bl xxx_call_draw_string - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803B6D0: .4byte gUnknown_80E8B94 - thumb_func_end sub_803B6B0 - - thumb_func_start sub_803B6D4 -sub_803B6D4: - push {r4-r7,lr} - sub sp, 0x144 - adds r7, r0, 0 - ldr r1, [r7, 0x48] - adds r0, 0x43 - ldrb r2, [r0] - ldr r3, [r7] - movs r0, 0xA - bl sub_803B6B0 - adds r0, r7, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0xC - bls _0803B6F4 - b _0803B86C -_0803B6F4: - lsls r0, 2 - ldr r1, _0803B700 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803B700: .4byte _0803B704 - .align 2, 0 -_0803B704: - .4byte _0803B73E - .4byte _0803B748 - .4byte _0803B754 - .4byte _0803B738 - .4byte _0803B7A4 - .4byte _0803B7B0 - .4byte _0803B7C8 - .4byte _0803B760 - .4byte _0803B86C - .4byte _0803B818 - .4byte _0803B7E0 - .4byte _0803B788 - .4byte _0803B76A -_0803B738: - ldr r1, [r7, 0x48] - ldr r2, [r7, 0x4C] - b _0803B7CC -_0803B73E: - ldr r1, [r7, 0x48] - ldr r2, _0803B744 - b _0803B7CC - .align 2, 0 -_0803B744: .4byte gMankeyMission -_0803B748: - ldr r1, [r7, 0x48] - ldr r2, _0803B750 - b _0803B7CC - .align 2, 0 -_0803B750: .4byte gSmeargleMission -_0803B754: - ldr r1, [r7, 0x48] - ldr r2, _0803B75C - b _0803B7CC - .align 2, 0 -_0803B75C: .4byte gMedichamMission -_0803B760: - ldr r1, [r7, 0x8] - add r0, sp, 0x4 - bl sub_8090208 - b _0803B850 -_0803B76A: - ldr r4, _0803B780 - ldrb r1, [r7, 0x14] - adds r0, r4, 0 - movs r2, 0 - bl sub_8090DC4 - ldr r1, _0803B784 - add r0, sp, 0x4 - adds r2, r4, 0 - b _0803B84C - .align 2, 0 -_0803B780: .4byte gUnknown_202DE58 -_0803B784: .4byte gUnknown_80E8830 -_0803B788: - ldr r4, _0803B79C - ldrb r1, [r7, 0x14] - adds r0, r4, 0 - movs r2, 0 - bl sub_8090DC4 - ldr r1, _0803B7A0 - add r0, sp, 0x4 - adds r2, r4, 0 - b _0803B84C - .align 2, 0 -_0803B79C: .4byte gUnknown_202DE58 -_0803B7A0: .4byte gUnknown_80E8848 -_0803B7A4: - ldr r1, [r7, 0x48] - ldr r2, _0803B7AC - b _0803B7CC - .align 2, 0 -_0803B7AC: .4byte gUnknown_80E885C -_0803B7B0: - ldr r1, [r7, 0x48] - ldr r3, _0803B7C4 - ldr r2, [r7, 0x4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r3, 0x4 - adds r0, r3 - ldr r2, [r0] - b _0803B7CC - .align 2, 0 -_0803B7C4: .4byte gUnknown_80E9F8C -_0803B7C8: - ldr r1, [r7, 0x48] - ldr r2, _0803B7DC -_0803B7CC: - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x15 - bl xxx_call_draw_string - b _0803B8B4 - .align 2, 0 -_0803B7DC: .4byte gUnknown_80E886C -_0803B7E0: - ldr r0, [r7, 0x8] - ldr r4, [r0, 0x4] - ldrb r0, [r0] - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r5, _0803B810 - adds r0, r5, 0 - bl strcpy - ldr r1, _0803B814 - movs r0, 0x3 - ands r4, r0 - lsls r4, 2 - adds r4, r1 - ldr r1, [r4] - add r0, sp, 0x4 - adds r2, r5, 0 - b _0803B84C - .align 2, 0 -_0803B810: .4byte gUnknown_202DF98 -_0803B814: .4byte gUnknown_80EAE5C -_0803B818: - ldr r0, [r7, 0x8] - ldr r4, [r0, 0x4] - ldrb r0, [r0] - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r6, _0803B864 - adds r0, r6, 0 - bl strcpy - ldr r5, _0803B868 - adds r0, r4, 0 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r5 - ldr r1, [r0] - add r0, sp, 0x4 - adds r2, r6, 0 -_0803B84C: - bl sub_800D158 -_0803B850: - ldr r1, [r7, 0x48] - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x15 - add r2, sp, 0x4 - bl xxx_call_draw_string - b _0803B8B4 - .align 2, 0 -_0803B864: .4byte gUnknown_202DF98 -_0803B868: .4byte gUnknown_80E910C -_0803B86C: - ldr r0, [r7, 0x8] - ldr r4, [r0, 0x4] - ldrb r0, [r0] - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r6, _0803B8E8 - adds r0, r6, 0 - bl strcpy - ldr r5, _0803B8EC - adds r0, r4, 0 - movs r1, 0xF - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r5 - ldr r1, [r0] - add r0, sp, 0x4 - adds r2, r6, 0 - bl sub_800D158 - ldr r1, [r7, 0x48] - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x15 - add r2, sp, 0x4 - bl xxx_call_draw_string -_0803B8B4: - adds r0, r7, 0 - adds r0, 0x40 - ldrb r1, [r0] - adds r6, r0, 0 - cmp r1, 0x7 - bne _0803B916 - ldr r5, [r7, 0xC] - cmp r5, 0 - bne _0803B8F0 - bl sub_8016028 - movs r4, 0xB2 - subs r4, r0 - movs r1, 0x10 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r2, r0, 0 - ldr r1, [r7, 0x48] - ldr r3, [r7] - str r5, [sp] - adds r0, r4, 0 - bl xxx_call_draw_string - b _0803B956 - .align 2, 0 -_0803B8E8: .4byte gUnknown_202DF98 -_0803B8EC: .4byte gUnknown_80E8C98 -_0803B8F0: - add r4, sp, 0xCC - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0xA - bl sub_80922B4 - bl sub_8016028 - adds r1, r0, 0 - movs r0, 0xB2 - subs r0, r1 - ldr r1, [r7, 0x48] - ldr r3, [r7] - movs r2, 0 - str r2, [sp] - adds r2, r4, 0 - bl xxx_call_draw_string - b _0803B956 -_0803B916: - adds r0, r7, 0 - adds r0, 0x42 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0803B93C - add r4, sp, 0xE0 - ldr r1, [r7, 0x8] - adds r0, r4, 0 - bl sub_8090228 - ldr r1, _0803B938 - add r0, sp, 0x4 - adds r2, r4, 0 - bl sub_800D158 - b _0803B944 - .align 2, 0 -_0803B938: .4byte gUnknown_80E8884 -_0803B93C: - ldr r1, [r7, 0x8] - add r0, sp, 0x4 - bl sub_8090228 -_0803B944: - ldr r1, [r7, 0x48] - adds r1, 0xC - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x1D - add r2, sp, 0x4 - bl xxx_call_draw_string -_0803B956: - ldrb r0, [r6] - cmp r0, 0x7 - bne _0803B962 - ldr r0, [r7, 0x8] - movs r1, 0 - b _0803B968 -_0803B962: - ldr r0, [r7, 0x8] - ldr r1, [r7, 0x54] - ldrb r1, [r1, 0x1] -_0803B968: - bl sub_803C1D0 - lsls r0, 24 - lsrs r0, 24 - bl sub_803C1F0 - adds r2, r0, 0 - ldr r1, [r7, 0x48] - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0xB4 - bl xxx_call_draw_string - add sp, 0x144 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_803B6D4 - - thumb_func_start sub_803B98C -sub_803B98C: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x1FC - adds r7, r0, 0 - movs r0, 0 - mov r9, r0 - ldr r2, _0803B9E0 - ldr r3, [r7] - str r0, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_call_draw_string - ldr r1, _0803B9E4 - adds r0, r7, 0 - adds r0, 0x44 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - ldr r3, [r7] - mov r1, r9 - str r1, [sp] - movs r0, 0x6C - movs r1, 0 - bl xxx_call_draw_string - movs r0, 0x10 - mov r9, r0 - adds r0, r7, 0 - adds r0, 0x41 - ldrb r0, [r0] - cmp r0, 0x10 - bls _0803B9D6 - b _0803BCC0 -_0803B9D6: - lsls r0, 2 - ldr r1, _0803B9E8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803B9E0: .4byte gUnknown_80E888C -_0803B9E4: .4byte gUnknown_80E8BCC -_0803B9E8: .4byte _0803B9EC - .align 2, 0 -_0803B9EC: - .4byte _0803BA34 - .4byte _0803BA3C - .4byte _0803BA44 - .4byte _0803BA30 - .4byte _0803BA4C - .4byte _0803BA6C - .4byte _0803BA8C - .4byte _0803BAA0 - .4byte _0803BBF0 - .4byte _0803BAE8 - .4byte _0803BAF0 - .4byte _0803BAF8 - .4byte _0803BCC0 - .4byte _0803BC58 - .4byte _0803BB74 - .4byte _0803BB10 - .4byte _0803BB10 -_0803BA30: - ldr r2, [r7, 0x50] - b _0803BAFA -_0803BA34: - ldr r2, _0803BA38 - b _0803BAFA - .align 2, 0 -_0803BA38: .4byte gUnknown_80E88A0 -_0803BA3C: - ldr r2, _0803BA40 - b _0803BAFA - .align 2, 0 -_0803BA40: .4byte gUnknown_80E88C8 -_0803BA44: - ldr r2, _0803BA48 - b _0803BAFA - .align 2, 0 -_0803BA48: .4byte gUnknown_80E8920 -_0803BA4C: - ldr r4, _0803BA64 - ldrb r1, [r7, 0x14] - adds r0, r4, 0 - movs r2, 0 - bl sub_8090DC4 - ldr r1, _0803BA68 - add r0, sp, 0x4 - adds r2, r4, 0 - bl sub_800D158 - b _0803BACC - .align 2, 0 -_0803BA64: .4byte gUnknown_202DE58 -_0803BA68: .4byte gUnknown_80E8968 -_0803BA6C: - ldr r4, _0803BA84 - ldrb r1, [r7, 0x14] - adds r0, r4, 0 - movs r2, 0 - bl sub_8090DC4 - ldr r1, _0803BA88 - add r0, sp, 0x4 - adds r2, r4, 0 - bl sub_800D158 - b _0803BACC - .align 2, 0 -_0803BA84: .4byte gUnknown_202DE58 -_0803BA88: .4byte gUnknown_80E89B0 -_0803BA8C: - ldr r1, _0803BA9C - ldr r0, [r7, 0x4] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - b _0803BAFA - .align 2, 0 -_0803BA9C: .4byte gUnknown_80E9920 -_0803BAA0: - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r4, _0803BAE0 - adds r0, r4, 0 - bl strcpy - ldr r2, _0803BAE4 - ldr r1, [r7, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r2, 0x8 - adds r0, r2 - ldr r1, [r0] - add r0, sp, 0x4 - adds r2, r4, 0 - adds r3, r4, 0 - bl sub_800D158 -_0803BACC: - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - b _0803BD42 - .align 2, 0 -_0803BAE0: .4byte gUnknown_202DF98 -_0803BAE4: .4byte gUnknown_80E9F8C -_0803BAE8: - ldr r2, _0803BAEC - b _0803BAFA - .align 2, 0 -_0803BAEC: .4byte gUnknown_80E89FC -_0803BAF0: - ldr r2, _0803BAF4 - b _0803BAFA - .align 2, 0 -_0803BAF4: .4byte gUnknown_80E8A40 -_0803BAF8: - ldr r2, _0803BB0C -_0803BAFA: - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - mov r1, r9 - bl xxx_call_draw_string - b _0803BD42 - .align 2, 0 -_0803BB0C: .4byte gUnknown_80E8A7C -_0803BB10: - ldr r0, [r7, 0x8] - ldr r5, [r0, 0x4] - ldrb r4, [r0] - adds r4, r5, r4 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r0, 0x1] - adds r5, r0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0803BB68 - mov r8, r0 - ldrb r1, [r7, 0x14] - movs r2, 0 - bl sub_8090DC4 - ldr r6, _0803BB6C - adds r0, r4, 0 - movs r1, 0x16 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r6 - ldr r1, [r0] - add r0, sp, 0x4 - mov r2, r8 - bl sub_800D158 - ldr r3, [r7] - movs r6, 0 - str r6, [sp] - movs r0, 0xA - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - movs r1, 0xC - add r9, r1 - ldr r4, _0803BB70 - adds r0, r5, 0 - movs r1, 0x16 - b _0803BD1A - .align 2, 0 -_0803BB68: .4byte gUnknown_202DE58 -_0803BB6C: .4byte gUnknown_80EB3F8 -_0803BB70: .4byte gUnknown_80EB72C -_0803BB74: - ldr r0, [r7, 0x8] - ldr r5, [r0, 0x4] - ldrb r4, [r0] - adds r4, r5, r4 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r0, 0x1] - adds r5, r0 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r0, _0803BBE4 - mov r8, r0 - bl strcpy - ldr r6, _0803BBE8 - adds r0, r4, 0 - movs r1, 0x14 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r6 - ldr r1, [r0] - add r0, sp, 0x4 - mov r2, r8 - bl sub_800D158 - ldr r3, [r7] - movs r4, 0 - str r4, [sp] - movs r0, 0xA - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - movs r1, 0xC - add r9, r1 - ldr r1, _0803BBEC - movs r0, 0x3 - ands r5, r0 - lsls r5, 2 - adds r5, r1 - ldr r1, [r5] - add r0, sp, 0x4 - mov r2, r8 - bl sub_800D158 - ldr r3, [r7] - str r4, [sp] - b _0803BD32 - .align 2, 0 -_0803BBE4: .4byte gUnknown_202DF98 -_0803BBE8: .4byte gUnknown_80EAEB8 -_0803BBEC: .4byte gUnknown_80EB198 -_0803BBF0: - ldr r0, [r7, 0x8] - ldr r5, [r0, 0x4] - ldrb r4, [r0] - adds r4, r5, r4 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r0, 0x1] - adds r5, r0 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r0, _0803BC4C - mov r8, r0 - bl strcpy - ldr r6, _0803BC50 - adds r0, r4, 0 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r6 - ldr r1, [r0] - add r0, sp, 0x4 - mov r2, r8 - bl sub_800D158 - ldr r3, [r7] - movs r6, 0 - str r6, [sp] - movs r0, 0xA - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - movs r1, 0xC - add r9, r1 - ldr r4, _0803BC54 - adds r0, r5, 0 - movs r1, 0x6 - b _0803BD1A - .align 2, 0 -_0803BC4C: .4byte gUnknown_202DF98 -_0803BC50: .4byte gUnknown_80EB220 -_0803BC54: .4byte gUnknown_80EB2F0 -_0803BC58: - ldr r0, [r7, 0x8] - ldr r5, [r0, 0x4] - ldrb r4, [r0] - adds r4, r5, r4 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r0, 0x1] - adds r5, r0 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r0, _0803BCB4 - mov r8, r0 - bl strcpy - ldr r6, _0803BCB8 - adds r0, r4, 0 - movs r1, 0x2D - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r6 - ldr r1, [r0] - add r0, sp, 0x4 - mov r2, r8 - bl sub_800D158 - ldr r3, [r7] - movs r6, 0 - str r6, [sp] - movs r0, 0xA - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - movs r1, 0xC - add r9, r1 - ldr r4, _0803BCBC - adds r0, r5, 0 - movs r1, 0xA - b _0803BD1A - .align 2, 0 -_0803BCB4: .4byte gUnknown_202DF98 -_0803BCB8: .4byte gUnknown_80E91D4 -_0803BCBC: .4byte gUnknown_80E9820 -_0803BCC0: - ldr r0, [r7, 0x8] - ldr r5, [r0, 0x4] - ldrb r4, [r0] - adds r4, r5, r4 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r0, 0x1] - adds r5, r0 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x10 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r0, _0803BD78 - mov r8, r0 - bl strcpy - ldr r6, _0803BD7C - adds r0, r4, 0 - movs r1, 0xD - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r6 - ldr r1, [r0] - add r0, sp, 0x4 - mov r2, r8 - bl sub_800D158 - ldr r3, [r7] - movs r6, 0 - str r6, [sp] - movs r0, 0xA - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - movs r1, 0xC - add r9, r1 - ldr r4, _0803BD80 - adds r0, r5, 0 - movs r1, 0xD -_0803BD1A: - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r1, [r0] - add r0, sp, 0x4 - mov r2, r8 - bl sub_800D158 - ldr r3, [r7] - str r6, [sp] -_0803BD32: - movs r0, 0xA - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - movs r0, 0xC - negs r0, r0 - add r9, r0 -_0803BD42: - movs r1, 0x1C - add r9, r1 - ldr r2, _0803BD84 - ldr r3, [r7] - movs r0, 0 - mov r8, r0 - str r0, [sp] - movs r0, 0xA - mov r1, r9 - bl xxx_call_draw_string - ldr r1, [r7, 0xC] - cmp r1, 0 - bne _0803BD88 - movs r1, 0x10 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r2, r0, 0 - ldr r3, [r7] - mov r0, r8 - str r0, [sp] - movs r0, 0x44 - mov r1, r9 - bl xxx_call_draw_string - b _0803BDBC - .align 2, 0 -_0803BD78: .4byte gUnknown_202DF98 -_0803BD7C: .4byte gUnknown_80E8DE4 -_0803BD80: .4byte gUnknown_80E8FB0 -_0803BD84: .4byte gUnknown_80E8AC8 -_0803BD88: - add r6, sp, 0x158 - adds r0, r6, 0 - movs r2, 0xA - bl sub_80922B4 - add r4, sp, 0x16C - movs r0, 0x10 - ldrsh r1, [r7, r0] - adds r0, r4, 0 - bl sub_808D930 - add r5, sp, 0x130 - ldr r1, _0803BDE8 - adds r0, r5, 0 - adds r2, r6, 0 - adds r3, r4, 0 - bl sub_800D158 - ldr r3, [r7] - mov r1, r8 - str r1, [sp] - movs r0, 0x44 - mov r1, r9 - adds r2, r5, 0 - bl xxx_call_draw_string -_0803BDBC: - movs r0, 0xC - add r9, r0 - ldr r2, _0803BDEC - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - mov r1, r9 - bl xxx_call_draw_string - adds r0, r7, 0 - adds r0, 0x42 - ldrb r1, [r0] - adds r5, r0, 0 - cmp r1, 0x6 - bhi _0803BEB8 - lsls r0, r1, 2 - ldr r1, _0803BDF0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803BDE8: .4byte gUnknown_80E8AD0 -_0803BDEC: .4byte gUnknown_80E8AE0 -_0803BDF0: .4byte _0803BDF4 - .align 2, 0 -_0803BDF4: - .4byte _0803BE10 - .4byte _0803BE30 - .4byte _0803BE18 - .4byte _0803BE48 - .4byte _0803BE80 - .4byte _0803BE60 - .4byte _0803BEB8 -_0803BE10: - ldr r2, _0803BE14 - b _0803BE4A - .align 2, 0 -_0803BE14: .4byte gUnknown_80E8AEC -_0803BE18: - ldr r4, _0803BE28 - ldrb r1, [r7, 0x14] - adds r0, r4, 0 - movs r2, 0 - bl sub_8090DC4 - ldr r1, _0803BE2C - b _0803BE94 - .align 2, 0 -_0803BE28: .4byte gUnknown_202DE58 -_0803BE2C: .4byte gUnknown_80E8AFC -_0803BE30: - ldr r4, _0803BE40 - ldrb r1, [r7, 0x14] - adds r0, r4, 0 - movs r2, 0 - bl sub_8090DC4 - ldr r1, _0803BE44 - b _0803BE94 - .align 2, 0 -_0803BE40: .4byte gUnknown_202DE58 -_0803BE44: .4byte gUnknown_80E8B10 -_0803BE48: - ldr r2, _0803BE5C -_0803BE4A: - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x44 - mov r1, r9 - bl xxx_call_draw_string - b _0803BEC8 - .align 2, 0 -_0803BE5C: .4byte gUnknown_80E8B20 -_0803BE60: - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r4, _0803BE78 - adds r0, r4, 0 - bl strcpy - ldr r1, _0803BE7C - b _0803BE94 - .align 2, 0 -_0803BE78: .4byte gUnknown_202DF98 -_0803BE7C: .4byte gUnknown_80E8B2C -_0803BE80: - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r4, _0803BEB0 - adds r0, r4, 0 - bl strcpy - ldr r1, _0803BEB4 -_0803BE94: - add r0, sp, 0x4 - adds r2, r4, 0 - bl sub_800D158 - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x44 - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - b _0803BEC8 - .align 2, 0 -_0803BEB0: .4byte gUnknown_202DF98 -_0803BEB4: .4byte gUnknown_80E8B40 -_0803BEB8: - ldr r2, _0803BEF8 - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x44 - mov r1, r9 - bl xxx_call_draw_string -_0803BEC8: - movs r0, 0xC - add r9, r0 - ldr r2, _0803BEFC - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - mov r1, r9 - bl xxx_call_draw_string - ldrb r0, [r5] - cmp r0, 0x1 - bne _0803BF04 - add r4, sp, 0x180 - ldr r1, [r7, 0x8] - adds r0, r4, 0 - bl sub_8090228 - ldr r1, _0803BF00 - add r0, sp, 0x4 - adds r2, r4, 0 - bl sub_800D158 - b _0803BF0C - .align 2, 0 -_0803BEF8: .4byte gSpecialMissionText -_0803BEFC: .4byte gPlaceText -_0803BF00: .4byte gUnknown_80E8884 -_0803BF04: - ldr r1, [r7, 0x8] - add r0, sp, 0x4 - bl sub_8090228 -_0803BF0C: - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x44 - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - ldrb r0, [r5] - cmp r0, 0 - bne _0803BF28 - ldr r0, [r7, 0x8] - movs r1, 0 - b _0803BF2E -_0803BF28: - ldr r0, [r7, 0x8] - ldr r1, [r7, 0x54] - ldrb r1, [r1, 0x1] -_0803BF2E: - bl sub_803C1D0 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0xC - add r9, r1 - ldr r2, _0803BF88 - ldr r3, [r7] - movs r6, 0 - str r6, [sp] - movs r0, 0xA - mov r1, r9 - bl xxx_call_draw_string - adds r0, r4, 0 - bl sub_803C1F0 - adds r2, r0, 0 - ldr r3, [r7] - str r6, [sp] - movs r0, 0x44 - mov r1, r9 - bl xxx_call_draw_string - movs r0, 0xC - add r9, r0 - ldr r2, _0803BF8C - ldr r3, [r7] - str r6, [sp] - movs r0, 0xA - mov r1, r9 - bl xxx_call_draw_string - adds r0, r7, 0 - adds r0, 0x2E - ldrb r2, [r0] - adds r5, r0, 0 - cmp r2, 0x4 - bhi _0803C02C - lsls r0, r2, 2 - ldr r1, _0803BF90 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803BF88: .4byte gDifficultyText -_0803BF8C: .4byte gRewardText -_0803BF90: .4byte _0803BF94 - .align 2, 0 -_0803BF94: - .4byte _0803BFA8 - .4byte _0803BFBC - .4byte _0803BFD0 - .4byte _0803BFD0 - .4byte _0803C00C -_0803BFA8: - ldr r1, _0803BFB8 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r2, [r7, 0x30] - add r0, sp, 0x4 - b _0803BFEE - .align 2, 0 -_0803BFB8: .4byte gUnknown_80E8C48 -_0803BFBC: - ldr r1, _0803BFCC - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r2, [r7, 0x30] - add r0, sp, 0x4 - b _0803BFEE - .align 2, 0 -_0803BFCC: .4byte gUnknown_80E8C48 -_0803BFD0: - ldr r4, _0803C004 - adds r0, r7, 0 - adds r0, 0x34 - ldrb r1, [r0] - adds r0, r4, 0 - movs r2, 0 - bl sub_8090DC4 - ldr r1, _0803C008 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - add r0, sp, 0x4 - adds r2, r4, 0 -_0803BFEE: - bl sub_800D158 - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x44 - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - b _0803C040 - .align 2, 0 -_0803C004: .4byte gUnknown_202DE58 -_0803C008: .4byte gUnknown_80E8C48 -_0803C00C: - ldr r1, _0803C028 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x44 - mov r1, r9 - bl xxx_call_draw_string - b _0803C040 - .align 2, 0 -_0803C028: .4byte gUnknown_80E8C48 -_0803C02C: - ldr r1, _0803C0D4 - lsls r0, r2, 2 - adds r0, r1 - ldr r2, [r0] - ldr r3, [r7] - str r6, [sp] - movs r0, 0x44 - mov r1, r9 - bl xxx_call_draw_string -_0803C040: - movs r1, 0xC - add r9, r1 - adds r0, r7, 0 - adds r0, 0x41 - ldrb r1, [r0] - adds r0, r1, 0 - subs r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bls _0803C0C6 - cmp r1, 0x3 - beq _0803C0C6 - ldr r0, [r7, 0x54] - ldrb r0, [r0] - cmp r0, 0x5 - bne _0803C0C6 - ldr r2, _0803C0D8 - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - mov r1, r9 - bl xxx_call_draw_string - add r0, sp, 0x1E4 - ldr r1, [r7, 0x54] - bl sub_803D414 - movs r4, 0 -_0803C07C: - cmp r4, 0xC - bne _0803C084 - movs r0, 0xC - add r9, r0 -_0803C084: - movs r5, 0x7 - cmp r4, 0x3 - ble _0803C09C - movs r5, 0x6 - cmp r4, 0x7 - ble _0803C09C - movs r5, 0x7 - cmp r4, 0xF - ble _0803C09C - cmp r4, 0x13 - bgt _0803C09C - movs r5, 0x6 -_0803C09C: - adds r0, r4, 0 - movs r1, 0xC - bl __modsi3 - adds r1, r0, 0 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r0, 0x54 - add r1, sp, 0x1E4 - adds r1, r4 - ldrb r2, [r1] - ldr r1, [r7] - str r1, [sp] - mov r1, r9 - adds r3, r5, 0 - bl sub_8012C60 - adds r4, 0x1 - cmp r4, 0x17 - ble _0803C07C -_0803C0C6: - add sp, 0x1FC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803C0D4: .4byte gUnknown_80E8C48 -_0803C0D8: .4byte gUnknown_80E8B7C - thumb_func_end sub_803B98C - - thumb_func_start sub_803C0DC -sub_803C0DC: - push {lr} - lsls r0, 16 - asrs r0, 16 - bl sub_808E770 - lsls r0, 16 - asrs r2, r0, 16 - ldr r1, _0803C0F0 - b _0803C102 - .align 2, 0 -_0803C0F0: .4byte gUnknown_80E80E0 -_0803C0F4: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, r2 - bne _0803C100 - movs r0, 0 - b _0803C10C -_0803C100: - adds r1, 0x2 -_0803C102: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _0803C0F4 - movs r0, 0x1 -_0803C10C: - pop {r1} - bx r1 - thumb_func_end sub_803C0DC - - thumb_func_start sub_803C110 -sub_803C110: - push {r4,lr} - lsls r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - bl sub_8098134 - lsls r0, 24 - cmp r0, 0 - beq _0803C180 - adds r0, r4, 0 - bl sub_808E770 - lsls r0, 16 - asrs r0, 16 - cmp r4, r0 - bne _0803C180 - adds r0, r4, 0 - bl sub_803C0DC - lsls r0, 24 - cmp r0, 0 - beq _0803C180 - movs r0, 0x6 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - bne _0803C188 - ldr r1, _0803C184 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0803C168 - adds r2, r1, 0 -_0803C154: - movs r3, 0 - ldrsh r0, [r2, r3] - cmp r0, r4 - beq _0803C180 - adds r1, 0x2 - adds r2, 0x2 - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _0803C154 -_0803C168: - bl sub_808D33C - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, r4 - beq _0803C180 - bl sub_808D378 - movs r2, 0x8 - ldrsh r0, [r0, r2] - cmp r0, r4 - bne _0803C188 -_0803C180: - movs r0, 0 - b _0803C18A - .align 2, 0 -_0803C184: .4byte gUnknown_80E8126 -_0803C188: - movs r0, 0x1 -_0803C18A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_803C110 - .align 2,0 diff --git a/asm/personality_test_2.s b/asm/personality_test_2.s index 8ff0bfc..3f9d8f6 100644 --- a/asm/personality_test_2.s +++ b/asm/personality_test_2.s @@ -72,7 +72,7 @@ _0803CF68: adds r0, r1 movs r1, 0 ldrsh r0, [r0, r1] - bl sub_808D994 + bl GetMonSpecies adds r2, r0, 0 ldr r0, [r6] ldr r3, [r0, 0x4C] diff --git a/asm/pokemon.s b/asm/pokemon.s index 852b601..bd729f7 100644 --- a/asm/pokemon.s +++ b/asm/pokemon.s @@ -147,11 +147,11 @@ _0808CEA4: add r4, sp, 0x58 adds r0, r4, 0 adds r1, r7, 0 - bl sub_808D8BC + bl CopySpeciesNametoBuffer add r0, sp, 0x4C adds r1, r4, 0 movs r2, 0xA - bl sub_8092310 + bl BoundedCopyStringtoBuffer lsls r4, r7, 3 b _0808CF72 _0808CF36: @@ -339,11 +339,11 @@ _0808D09A: bne _0808D0B4 mov r0, sp mov r1, r9 - bl sub_808D8BC + bl CopySpeciesNametoBuffer mov r0, r8 mov r1, sp movs r2, 0xA - bl sub_8092310 + bl BoundedCopyStringtoBuffer b _0808D0C8 _0808D0B4: movs r2, 0 @@ -1422,10 +1422,10 @@ sub_808D824: adds r4, r0, 0 movs r1, 0x8 ldrsh r0, [r4, r1] - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 mov r0, sp - bl sub_80922F4 + bl CopyStringtoBuffer movs r2, 0 adds r4, 0x4C _0808D83E: @@ -1475,10 +1475,10 @@ sub_808D864: movs r7, 0 _0808D888: ldrb r0, [r6] - bl sub_8092280 + bl ReturnIntFromChar adds r4, r0, 0 ldrb r0, [r5] - bl sub_8092280 + bl ReturnIntFromChar cmp r4, r0 ble _0808D8A4 movs r0, 0x1 @@ -1501,8 +1501,8 @@ _0808D8B4: bx r1 thumb_func_end sub_808D864 - thumb_func_start sub_808D8BC -sub_808D8BC: + thumb_func_start CopySpeciesNametoBuffer +CopySpeciesNametoBuffer: push {lr} lsls r1, 16 asrs r1, 16 @@ -1519,7 +1519,7 @@ sub_808D8BC: bx r0 .align 2, 0 _0808D8DC: .4byte gMonsterParameters - thumb_func_end sub_808D8BC + thumb_func_end CopySpeciesNametoBuffer thumb_func_start sub_808D8E0 sub_808D8E0: @@ -1579,7 +1579,7 @@ sub_808D930: bne _0808D970 ldr r5, _0808D968 movs r0, 0xC9 - bl sub_808D994 + bl GetMonSpecies adds r4, r0, 0 adds r0, r6, 0 bl sub_808E8C8 @@ -1614,8 +1614,8 @@ _0808D98C: .4byte gUnknown_8107638 _0808D990: .4byte gMonsterParameters thumb_func_end sub_808D930 - thumb_func_start sub_808D994 -sub_808D994: + thumb_func_start GetMonSpecies +GetMonSpecies: lsls r0, 16 asrs r0, 16 ldr r1, _0808D9A8 @@ -1628,7 +1628,7 @@ sub_808D994: bx lr .align 2, 0 _0808D9A8: .4byte gMonsterParameters - thumb_func_end sub_808D994 + thumb_func_end GetMonSpecies thumb_func_start sub_808D9AC sub_808D9AC: diff --git a/asm/wonder_mail.s b/asm/wonder_mail.s index ba61bb1..3492026 100644 --- a/asm/wonder_mail.s +++ b/asm/wonder_mail.s @@ -5,1183 +5,6 @@ .text - thumb_func_start sub_8029B50 -sub_8029B50: - push {r4,r5,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r5, _08029C3C - ldr r4, _08029C40 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 - ldr r0, _08029C44 - movs r4, 0x98 - lsls r4, 1 - adds r1, r4, 0 - bl sub_808D8E0 - adds r0, r4, 0 - bl sub_808D994 - adds r1, r0, 0 - ldr r0, _08029C48 - bl strcpy - adds r0, r4, 0 - bl GetDialogueSpriteDataPtr - ldr r2, [r5] - movs r3, 0x84 - lsls r3, 3 - adds r1, r2, r3 - str r0, [r1] - adds r3, 0x4 - adds r1, r2, r3 - ldr r0, [r0, 0x4] - str r0, [r1] - ldr r0, _08029C4C - adds r2, r0 - movs r1, 0 - strb r1, [r2] - ldr r0, [r5] - ldr r2, _08029C50 - adds r0, r2 - strb r1, [r0] - ldr r0, [r5] - adds r3, 0xA - adds r0, r3 - strb r1, [r0] - ldr r1, [r5] - movs r0, 0x85 - lsls r0, 3 - adds r2, r1, r0 - movs r0, 0x2 - strh r0, [r2] - ldr r2, _08029C54 - adds r1, r2 - movs r0, 0x8 - strh r0, [r1] - movs r1, 0 - movs r2, 0 -_08029BD8: - ldr r0, [r5] - adds r0, 0x8 - adds r0, r1 - strb r2, [r0] - adds r1, 0x1 - cmp r1, 0x35 - ble _08029BD8 - ldr r5, _08029C3C - ldr r1, [r5] - ldr r3, _08029C58 - adds r2, r1, r3 - movs r0, 0x3 - str r0, [r2] - movs r0, 0xA7 - lsls r0, 3 - adds r1, r0 - movs r0, 0x1 - str r0, [r1] - movs r0, 0x6 - bl sub_80953D4 - adds r4, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _08029C60 - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8095228 - ldr r1, [r5] - ldr r2, _08029C5C - adds r3, r1, r2 - ldr r2, [r0, 0x20] - str r2, [r3] - movs r3, 0x86 - lsls r3, 2 - adds r1, r3 - strb r4, [r1] - ldr r1, [r5] - movs r2, 0x86 - lsls r2, 3 - adds r1, r2 - ldr r0, [r0, 0x10] - str r0, [r1] - movs r0, 0x5 - bl sub_802B2BC - b _08029C7C - .align 2, 0 -_08029C3C: .4byte gUnknown_203B2C4 -_08029C40: .4byte 0x00000564 -_08029C44: .4byte gUnknown_202E5D8 -_08029C48: .4byte gUnknown_202DF98 -_08029C4C: .4byte 0x0000042c -_08029C50: .4byte 0x0000042d -_08029C54: .4byte 0x0000042a -_08029C58: .4byte 0x00000534 -_08029C5C: .4byte 0x0000041c -_08029C60: - ldr r1, [r5] - ldr r3, _08029C8C - adds r2, r1, r3 - ldr r0, _08029C90 - ldr r0, [r0] - str r0, [r2] - movs r0, 0x86 - lsls r0, 2 - adds r1, r0 - movs r0, 0xFF - strb r0, [r1] - movs r0, 0 - bl sub_802B2BC -_08029C7C: - ldr r0, _08029C94 - ldr r1, [r0] - movs r0, 0x2B - str r0, [r1, 0x4] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08029C8C: .4byte 0x0000041c -_08029C90: .4byte gUnknown_80DED44 -_08029C94: .4byte gUnknown_203B2C4 - thumb_func_end sub_8029B50 - - thumb_func_start sub_8029C98 -sub_8029C98: - push {lr} - ldr r0, _08029CB0 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x2A - bls _08029CA6 - b _08029E58 -_08029CA6: - lsls r0, 2 - ldr r1, _08029CB4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08029CB0: .4byte gUnknown_203B2C4 -_08029CB4: .4byte _08029CB8 - .align 2, 0 -_08029CB8: - .4byte _08029E48 - .4byte _08029E48 - .4byte _08029E4E - .4byte _08029E54 - .4byte _08029E42 - .4byte _08029D64 - .4byte _08029E3C - .4byte _08029E30 - .4byte _08029E36 - .4byte _08029E2A - .4byte _08029E24 - .4byte _08029E1E - .4byte _08029E0C - .4byte _08029E06 - .4byte _08029D76 - .4byte _08029D7C - .4byte _08029D8E - .4byte _08029D82 - .4byte _08029D88 - .4byte _08029D94 - .4byte _08029D9A - .4byte _08029DA0 - .4byte _08029DE8 - .4byte _08029DF4 - .4byte _08029DEE - .4byte _08029DB2 - .4byte _08029DB8 - .4byte _08029DAC - .4byte _08029DA6 - .4byte _08029DFA - .4byte _08029D6A - .4byte _08029D70 - .4byte _08029E00 - .4byte _08029DDC - .4byte _08029DE2 - .4byte _08029E58 - .4byte _08029DD6 - .4byte _08029DD0 - .4byte _08029DC4 - .4byte _08029DCA - .4byte _08029DBE - .4byte _08029E12 - .4byte _08029E18 -_08029D64: - bl sub_802AB7C - b _08029E58 -_08029D6A: - bl sub_8029F98 - b _08029E58 -_08029D70: - bl sub_8029EA8 - b _08029E58 -_08029D76: - bl sub_802A090 - b _08029E58 -_08029D7C: - bl sub_802A158 - b _08029E58 -_08029D82: - bl sub_802A174 - b _08029E58 -_08029D88: - bl sub_802A230 - b _08029E58 -_08029D8E: - bl sub_802A0C8 - b _08029E58 -_08029D94: - bl sub_802A28C - b _08029E58 -_08029D9A: - bl sub_802A39C - b _08029E58 -_08029DA0: - bl sub_802A33C - b _08029E58 -_08029DA6: - bl sub_802A458 - b _08029E58 -_08029DAC: - bl sub_802A4AC - b _08029E58 -_08029DB2: - bl sub_802A4D4 - b _08029E58 -_08029DB8: - bl sub_802A050 - b _08029E58 -_08029DBE: - bl sub_802A9FC - b _08029E58 -_08029DC4: - bl sub_802A4F0 - b _08029E58 -_08029DCA: - bl sub_802A50C - b _08029E58 -_08029DD0: - bl sub_802A6B4 - b _08029E58 -_08029DD6: - bl sub_802A718 - b _08029E58 -_08029DDC: - bl sub_802AB60 - b _08029E58 -_08029DE2: - bl sub_802AB98 - b _08029E58 -_08029DE8: - bl sub_802A740 - b _08029E58 -_08029DEE: - bl sub_802A68C - b _08029E58 -_08029DF4: - bl sub_802A6F0 - b _08029E58 -_08029DFA: - bl sub_802A75C - b _08029E58 -_08029E00: - bl sub_802A490 - b _08029E58 -_08029E06: - bl sub_802A474 - b _08029E58 -_08029E0C: - bl sub_802A798 - b _08029E58 -_08029E12: - bl sub_802A828 - b _08029E58 -_08029E18: - bl sub_802A850 - b _08029E58 -_08029E1E: - bl sub_802A8A0 - b _08029E58 -_08029E24: - bl sub_802A8BC - b _08029E58 -_08029E2A: - bl sub_802A910 - b _08029E58 -_08029E30: - bl sub_802A98C - b _08029E58 -_08029E36: - bl sub_802A9A8 - b _08029E58 -_08029E3C: - bl sub_802AA28 - b _08029E58 -_08029E42: - bl sub_802AAAC - b _08029E58 -_08029E48: - bl sub_802AAE4 - b _08029E58 -_08029E4E: - bl sub_802AAC8 - b _08029E58 -_08029E54: - movs r0, 0x3 - b _08029E5A -_08029E58: - movs r0, 0 -_08029E5A: - pop {r1} - bx r1 - thumb_func_end sub_8029C98 - - thumb_func_start sub_8029E60 -sub_8029E60: - push {r4,lr} - ldr r4, _08029EA4 - ldr r0, [r4] - cmp r0, 0 - beq _08029E9C - movs r1, 0x84 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - bl CloseFile - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] - bl sub_8030DE4 - bl sub_801B450 - bl sub_803084C - bl sub_801CBB8 - bl sub_80155F0 - bl sub_8031E10 - bl sub_802F2C0 -_08029E9C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08029EA4: .4byte gUnknown_203B2C4 - thumb_func_end sub_8029E60 - - thumb_func_start sub_8029EA8 -sub_8029EA8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08029EBC - movs r0, 0x1 - bl sub_802B2BC -_08029EBC: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8029EA8 - - thumb_func_start sub_8029EC4 -sub_8029EC4: - push {lr} - cmp r0, 0xF - bhi _08029F88 - lsls r0, 2 - ldr r1, _08029ED4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08029ED4: .4byte _08029ED8 - .align 2, 0 -_08029ED8: - .4byte _08029F88 - .4byte _08029F50 - .4byte _08029F50 - .4byte _08029F18 - .4byte _08029F20 - .4byte _08029F50 - .4byte _08029F28 - .4byte _08029F30 - .4byte _08029F88 - .4byte _08029F38 - .4byte _08029F88 - .4byte _08029F40 - .4byte _08029F88 - .4byte _08029F48 - .4byte _08029F50 - .4byte _08029F74 -_08029F18: - ldr r0, _08029F1C - b _08029F52 - .align 2, 0 -_08029F1C: .4byte gUnknown_80DEF28 -_08029F20: - ldr r0, _08029F24 - b _08029F52 - .align 2, 0 -_08029F24: .4byte gUnknown_80DEF80 -_08029F28: - ldr r0, _08029F2C - b _08029F52 - .align 2, 0 -_08029F2C: .4byte gUnknown_80DEFDC -_08029F30: - ldr r0, _08029F34 - b _08029F52 - .align 2, 0 -_08029F34: .4byte gUnknown_80DF044 -_08029F38: - ldr r0, _08029F3C - b _08029F52 - .align 2, 0 -_08029F3C: .4byte gUnknown_80DF0A0 -_08029F40: - ldr r0, _08029F44 - b _08029F52 - .align 2, 0 -_08029F44: .4byte gUnknown_80DF0A0 -_08029F48: - ldr r0, _08029F4C - b _08029F52 - .align 2, 0 -_08029F4C: .4byte gUnknown_80DF0E0 -_08029F50: - ldr r0, _08029F68 -_08029F52: - ldr r1, _08029F6C - ldr r2, [r1] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - ldr r3, _08029F70 - movs r1, 0 - bl sub_80141B4 - b _08029F88 - .align 2, 0 -_08029F68: .4byte gUnknown_80DEF04 -_08029F6C: .4byte gUnknown_203B2C4 -_08029F70: .4byte 0x0000010d -_08029F74: - ldr r0, _08029F8C - ldr r1, _08029F90 - ldr r2, [r1] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - ldr r3, _08029F94 - movs r1, 0 - bl sub_80141B4 -_08029F88: - pop {r0} - bx r0 - .align 2, 0 -_08029F8C: .4byte gUnknown_80DF138 -_08029F90: .4byte gUnknown_203B2C4 -_08029F94: .4byte 0x0000010d - thumb_func_end sub_8029EC4 - - thumb_func_start sub_8029F98 -sub_8029F98: - push {r4-r6,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - adds r6, r0, 0 - cmp r6, 0 - bne _0802A048 - ldr r4, _08029FE4 - ldr r0, [r4] - ldr r5, _08029FE8 - adds r0, r5 - movs r1, 0 - movs r2, 0x4 - bl MemoryFill8 - ldr r0, [r4] - ldr r1, _08029FEC - adds r0, r1 - strb r6, [r0] - ldr r0, [r4] - subs r1, 0x1 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, r5 - strb r6, [r0] - ldr r0, [r4] - ldr r1, [r0, 0x44] - cmp r1, 0 - bne _0802A03C - ldr r1, [r0, 0x40] - cmp r1, 0x6 - beq _08029FF0 - cmp r1, 0x7 - beq _0802A034 - b _0802A048 - .align 2, 0 -_08029FE4: .4byte gUnknown_203B2C4 -_08029FE8: .4byte 0x0000041c -_08029FEC: .4byte 0x0000041e -_08029FF0: - ldr r1, _0802A004 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x4 - beq _0802A020 - cmp r0, 0x4 - bgt _0802A008 - cmp r0, 0x3 - beq _0802A00C - b _0802A020 - .align 2, 0 -_0802A004: .4byte 0x00000534 -_0802A008: - cmp r0, 0x6 - bgt _0802A020 -_0802A00C: - ldr r0, _0802A028 - ldr r1, _0802A02C - ldr r2, [r1] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - ldr r3, _0802A030 - movs r1, 0 - bl sub_80141B4 -_0802A020: - movs r0, 0xD - bl sub_802B2BC - b _0802A048 - .align 2, 0 -_0802A028: .4byte gUnknown_80DF194 -_0802A02C: .4byte gUnknown_203B2C4 -_0802A030: .4byte 0x0000010d -_0802A034: - movs r0, 0x21 - bl sub_802B2BC - b _0802A048 -_0802A03C: - adds r0, r1, 0 - bl sub_8029EC4 - movs r0, 0x1F - bl sub_802B2BC -_0802A048: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8029F98 - - thumb_func_start sub_802A050 -sub_802A050: - push {lr} - bl sub_8031DCC - cmp r0, 0x1 - beq _0802A088 - cmp r0, 0x1 - bcc _0802A08C - cmp r0, 0x3 - bhi _0802A08C - bl sub_8031E10 - bl ResetUnusedInputStruct - ldr r0, _0802A084 - ldr r0, [r0] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1B - bl sub_802B2BC - b _0802A08C - .align 2, 0 -_0802A084: .4byte gUnknown_203B2C4 -_0802A088: - bl sub_8031E00 -_0802A08C: - pop {r0} - bx r0 - thumb_func_end sub_802A050 - - thumb_func_start sub_802A090 -sub_802A090: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A0C2 - ldr r0, [sp] - cmp r0, 0x7 - beq _0802A0B4 - cmp r0, 0x7 - bgt _0802A0AE - cmp r0, 0 - beq _0802A0BC - b _0802A0C2 -_0802A0AE: - cmp r0, 0x8 - beq _0802A0BC - b _0802A0C2 -_0802A0B4: - movs r0, 0x6 - bl sub_802B2BC - b _0802A0C2 -_0802A0BC: - movs r0, 0x1 - bl sub_802B2BC -_0802A0C2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A090 - - thumb_func_start sub_802A0C8 -sub_802A0C8: - push {r4,r5,lr} - movs r0, 0x1 - bl sub_8030768 - cmp r0, 0x3 - beq _0802A0F0 - cmp r0, 0x3 - bhi _0802A0DE - cmp r0, 0x2 - beq _0802A0E4 - b _0802A14E -_0802A0DE: - cmp r0, 0x4 - beq _0802A10C - b _0802A14E -_0802A0E4: - bl sub_803084C - movs r0, 0x1 - bl sub_802B2BC - b _0802A14E -_0802A0F0: - bl sub_80307EC - ldr r1, _0802A108 - ldr r1, [r1] - movs r2, 0x86 - lsls r2, 2 - adds r1, r2 - strb r0, [r1] - movs r0, 0x11 - bl sub_802B2BC - b _0802A14E - .align 2, 0 -_0802A108: .4byte gUnknown_203B2C4 -_0802A10C: - ldr r4, _0802A154 - ldr r1, [r4] - movs r0, 0x10 - str r0, [r1, 0x4] - bl sub_80307EC - ldr r1, [r4] - movs r5, 0x86 - lsls r5, 2 - adds r1, r5 - strb r0, [r1] - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x12 - bl sub_802B2BC -_0802A14E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802A154: .4byte gUnknown_203B2C4 - thumb_func_end sub_802A0C8 - - thumb_func_start sub_802A158 -sub_802A158: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A16C - movs r0, 0x10 - bl sub_802B2BC -_0802A16C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A158 - - thumb_func_start sub_802A174 -sub_802A174: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_8030768 - ldr r4, _0802A1B8 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802A1A6 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_0802A1A6: - ldr r0, [sp] - cmp r0, 0xB - beq _0802A1C6 - cmp r0, 0xB - bgt _0802A1BC - cmp r0, 0 - beq _0802A208 - b _0802A224 - .align 2, 0 -_0802A1B8: .4byte gUnknown_203B2C4 -_0802A1BC: - cmp r0, 0xC - beq _0802A1D2 - cmp r0, 0xD - beq _0802A208 - b _0802A224 -_0802A1C6: - bl sub_803084C - movs r0, 0xE - bl sub_802B2BC - b _0802A224 -_0802A1D2: - ldr r0, [r4] - movs r1, 0x2B - str r1, [r0, 0x4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x12 - bl sub_802B2BC - b _0802A224 -_0802A208: - ldr r0, _0802A22C - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x2 - bl sub_8035CC0 - movs r0, 0x1 - bl sub_8030810 - movs r0, 0x10 - bl sub_802B2BC -_0802A224: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802A22C: .4byte gUnknown_203B2C4 - thumb_func_end sub_802A174 - - thumb_func_start sub_802A230 -sub_802A230: - push {r4,lr} - bl sub_8030DA0 - cmp r0, 0x3 - bhi _0802A284 - cmp r0, 0x2 - bcc _0802A284 - bl sub_8030DE4 - bl ResetUnusedInputStruct - ldr r4, _0802A27C - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_803092C - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0x2B - bne _0802A280 - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x11 - bl sub_802B2BC - b _0802A284 - .align 2, 0 -_0802A27C: .4byte gUnknown_203B2C4 -_0802A280: - bl sub_802B2BC -_0802A284: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802A230 - - thumb_func_start sub_802A28C -sub_802A28C: - push {r4-r6,lr} - ldr r4, _0802A2C0 - ldr r0, [r4] - ldr r5, _0802A2C4 - adds r0, r5 - movs r2, 0 - strb r2, [r0] - ldr r0, [r4] - ldr r1, _0802A2C8 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - ldr r6, _0802A2CC - adds r0, r6 - strb r2, [r0] - movs r0, 0x1 - bl sub_801CA08 - cmp r0, 0x3 - beq _0802A2E2 - cmp r0, 0x3 - bhi _0802A2D0 - cmp r0, 0x2 - beq _0802A2D6 - b _0802A334 - .align 2, 0 -_0802A2C0: .4byte gUnknown_203B2C4 -_0802A2C4: .4byte 0x0000041e -_0802A2C8: .4byte 0x0000041d -_0802A2CC: .4byte 0x0000041c -_0802A2D0: - cmp r0, 0x4 - beq _0802A2FC - b _0802A334 -_0802A2D6: - bl sub_801CBB8 - movs r0, 0x1 - bl sub_802B2BC - b _0802A334 -_0802A2E2: - bl sub_801CB24 - ldr r1, [r4] - ldr r2, _0802A2F8 - adds r1, r2 - strb r0, [r1] - movs r0, 0x14 - bl sub_802B2BC - b _0802A334 - .align 2, 0 -_0802A2F8: .4byte 0x0000041e -_0802A2FC: - ldr r1, [r4] - movs r0, 0x13 - str r0, [r1, 0x4] - bl sub_801CB24 - ldr r1, [r4] - adds r1, r5 - strb r0, [r1] - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - adds r0, r6 - bl sub_801B3C0 - movs r0, 0x15 - bl sub_802B2BC -_0802A334: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_802A28C - - thumb_func_start sub_802A33C -sub_802A33C: - push {r4,lr} - bl sub_801B410 - cmp r0, 0x1 - beq _0802A394 - cmp r0, 0x1 - bcc _0802A394 - cmp r0, 0x3 - bhi _0802A394 - bl sub_801B450 - bl ResetUnusedInputStruct - ldr r4, _0802A38C - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl sub_801CB5C - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0x2B - bne _0802A390 - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x14 - bl sub_802B2BC - b _0802A394 - .align 2, 0 -_0802A38C: .4byte gUnknown_203B2C4 -_0802A390: - bl sub_802B2BC -_0802A394: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802A33C - - thumb_func_start sub_802A39C -sub_802A39C: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_801CA08 - ldr r4, _0802A3E0 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802A3CE - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_0802A3CE: - ldr r0, [sp] - cmp r0, 0xB - beq _0802A3EE - cmp r0, 0xB - bgt _0802A3E4 - cmp r0, 0 - beq _0802A430 - b _0802A44A - .align 2, 0 -_0802A3E0: .4byte gUnknown_203B2C4 -_0802A3E4: - cmp r0, 0xC - beq _0802A3FA - cmp r0, 0xD - beq _0802A430 - b _0802A44A -_0802A3EE: - bl sub_801CBB8 - movs r0, 0xC - bl sub_802B2BC - b _0802A44A -_0802A3FA: - ldr r0, [r4] - movs r1, 0x2B - str r1, [r0, 0x4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - ldr r1, _0802A42C - adds r0, r1 - bl sub_801B3C0 - movs r0, 0x15 - bl sub_802B2BC - b _0802A44A - .align 2, 0 -_0802A42C: .4byte 0x0000041c -_0802A430: - ldr r0, _0802A454 - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x3 - bl sub_8035CC0 - bl sub_801CCD8 - movs r0, 0x13 - bl sub_802B2BC -_0802A44A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802A454: .4byte gUnknown_203B2C4 - thumb_func_end sub_802A39C - - thumb_func_start sub_802A458 -sub_802A458: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A46C - movs r0, 0xD - bl sub_802B2BC -_0802A46C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A458 - - thumb_func_start sub_802A474 -sub_802A474: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A488 - movs r0, 0x3 - bl sub_802B2BC -_0802A488: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A474 - - thumb_func_start sub_802A490 -sub_802A490: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A4A4 - movs r0, 0x3 - bl sub_802B2BC -_0802A4A4: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A490 - - thumb_func_start sub_802A4AC -sub_802A4AC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A4CC - movs r0, 0x18 - bl sub_802B2BC - movs r0, 0x1 - bl sub_8011C28 - movs r0, 0 - bl sub_8012574 -_0802A4CC: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A4AC - - thumb_func_start sub_802A4D4 -sub_802A4D4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A4E8 - movs r0, 0x1A - bl sub_802B2BC -_0802A4E8: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A4D4 - - thumb_func_start sub_802A4F0 -sub_802A4F0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A504 - movs r0, 0x27 - bl sub_802B2BC -_0802A504: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A4F0 - thumb_func_start sub_802A50C sub_802A50C: push {r4,r5,lr} @@ -2044,7 +867,7 @@ sub_802AB98: adds r1, r4, 0 bl sub_808D8E0 adds r0, r4, 0 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 ldr r0, _0802ABEC bl strcpy @@ -2067,7 +890,7 @@ _0802ABE0: bx r0 .align 2, 0 _0802ABE8: .4byte gUnknown_202E5D8 -_0802ABEC: .4byte gUnknown_202DF98 +_0802ABEC: .4byte gAvailablePokemonNames _0802ABF0: .4byte gUnknown_203B2C4 thumb_func_end sub_802AB98 @@ -2496,7 +1319,7 @@ _0802AFAC: movs r4, 0x98 lsls r4, 1 adds r0, r4, 0 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 ldr r5, _0802B00C ldr r0, [r5] @@ -3089,7 +1912,7 @@ _0802B464: movs r6, 0x98 lsls r6, 1 adds r0, r6, 0 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 ldr r5, _0802B500 ldr r0, [r5] @@ -3236,7 +2059,7 @@ sub_802B57C: adds r1, r4, 0 bl sub_808D8E0 adds r0, r4, 0 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 ldr r0, _0802B5B4 bl strcpy @@ -3248,7 +2071,7 @@ _0802B5AA: bx r0 .align 2, 0 _0802B5B0: .4byte gUnknown_202E5D8 -_0802B5B4: .4byte gUnknown_202DF98 +_0802B5B4: .4byte gAvailablePokemonNames thumb_func_end sub_802B57C thumb_func_start sub_802B5B8 @@ -4149,7 +2972,7 @@ sub_802BC7C: bl strcpy b _0802BCBA .align 2, 0 -_0802BCA4: .4byte gUnknown_202DF98 +_0802BCA4: .4byte gAvailablePokemonNames _0802BCA8: .4byte gUnknown_203B46C _0802BCAC: .4byte gUnknown_80DFC4C _0802BCB0: @@ -4625,7 +3448,7 @@ _0802BFE8: .align 2, 0 _0802C060: .4byte gUnknown_203B2D8 _0802C064: .4byte gMailboxText -_0802C068: .4byte gUnknown_202DF98 +_0802C068: .4byte gAvailablePokemonNames _0802C06C: adds r0, r5, 0 add r1, sp, 0x4 @@ -8288,7 +7111,7 @@ _0802DCE0: ldr r0, [r0, 0x34] movs r1, 0xC ldrsh r0, [r0, r1] - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 ldr r2, _0802DD68 adds r0, r4, r2 @@ -8297,7 +7120,7 @@ _0802DCE0: ldr r0, [r0, 0x34] movs r1, 0xE ldrsh r0, [r0, r1] - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 ldr r2, _0802DD6C adds r4, r2 @@ -11008,7 +9831,7 @@ _0802F27C: .align 2, 0 _0802F28C: .4byte gUnknown_203B310 _0802F290: .4byte gUnknown_202E5D8 -_0802F294: .4byte gUnknown_202DF98 +_0802F294: .4byte gAvailablePokemonNames thumb_func_end sub_802F204 thumb_func_start sub_802F298 @@ -11068,7 +9891,7 @@ sub_802F2E8: ldr r1, [r1] str r0, [r1] bl sub_802F300 - bl sub_802F358 + bl HandleMissionReward pop {r0} bx r0 .align 2, 0 @@ -11120,8 +9943,8 @@ _0802F350: .4byte gUnknown_203B310 _0802F354: .4byte gUnknown_80E041C thumb_func_end sub_802F300 - thumb_func_start sub_802F358 -sub_802F358: + thumb_func_start HandleMissionReward +HandleMissionReward: push {r4-r6,lr} sub sp, 0x10 ldr r1, _0802F374 @@ -11509,7 +10332,7 @@ _0802F6A4: movs r0, 0x9 str r0, [r1, 0x4] ldrb r0, [r1, 0x9] - bl sub_80921A8 + bl GetTeamRankString adds r1, r0, 0 ldr r4, _0802F6F0 adds r0, r4, 0 @@ -11517,7 +10340,7 @@ _0802F6A4: bl sub_8092178 lsls r0, 24 lsrs r0, 24 - bl sub_80921A8 + bl GetTeamRankString adds r1, r0, 0 adds r4, 0x50 adds r0, r4, 0 @@ -11537,7 +10360,7 @@ _0802F6EC: .4byte gUnknown_203B310 _0802F6F0: .4byte gUnknown_202E038 _0802F6F4: .4byte gUnknown_80E06A8 _0802F6F8: .4byte 0x00000101 - thumb_func_end sub_802F358 + thumb_func_end HandleMissionReward thumb_func_start sub_802F6FC sub_802F6FC: @@ -12442,7 +11265,7 @@ _0802FDE0: adds r1, r5, 0 bl sub_808D8E0 adds r0, r5, 0 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 subs r4, 0x50 adds r0, r4, 0 @@ -12782,7 +11605,7 @@ _08030074: .align 2, 0 _080300B4: .4byte 0xffffff00 _080300B8: .4byte 0xffff00ff -_080300BC: .4byte gUnknown_202DF98 +_080300BC: .4byte gAvailablePokemonNames _080300C0: .4byte gMakuhitaDialogue _080300C4: ldr r3, [r5] @@ -15374,7 +14197,7 @@ sub_80314B4: adds r1, r5, 0 bl sub_808D8E0 adds r0, r5, 0 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 ldr r0, _0803153C bl strcpy @@ -15417,7 +14240,7 @@ _0803151E: .align 2, 0 _08031534: .4byte gUnknown_203B32C _08031538: .4byte gUnknown_202E5D8 -_0803153C: .4byte gUnknown_202DF98 +_0803153C: .4byte gAvailablePokemonNames thumb_func_end sub_80314B4 thumb_func_start sub_8031540 @@ -16231,7 +15054,7 @@ _08031B2C: ldr r4, _08031B90 movs r1, 0xC ldrsh r0, [r5, r1] - bl sub_808D994 + bl GetMonSpecies adds r2, r0, 0 add r0, sp, 0x4 adds r1, r4, 0 @@ -16353,7 +15176,7 @@ _08031C6C: .4byte gUnknown_80E1F70 _08031C70: movs r1, 0xE ldrsh r0, [r4, r1] - bl sub_808D994 + bl GetMonSpecies adds r2, r0, 0 adds r0, r5, 0 ldr r1, _08031C98 @@ -16374,7 +15197,7 @@ _08031C98: .4byte gUnknown_80E1F80 _08031C9C: movs r1, 0xE ldrsh r0, [r4, r1] - bl sub_808D994 + bl GetMonSpecies adds r2, r0, 0 adds r0, r5, 0 ldr r1, _08031CD0 @@ -16732,8 +15555,8 @@ _08031F00: _08031F5C: .4byte gUnknown_203B334 thumb_func_end sub_8031E74 - thumb_func_start sub_8031F60 -sub_8031F60: + thumb_func_start CreateAdventureLogScreen +CreateAdventureLogScreen: push {r4-r6,lr} adds r5, r0, 0 ldr r4, _08031FD0 @@ -16786,7 +15609,7 @@ sub_8031F60: .align 2, 0 _08031FD0: .4byte gUnknown_203B338 _08031FD4: .4byte gUnknown_80E2008 - thumb_func_end sub_8031F60 + thumb_func_end CreateAdventureLogScreen thumb_func_start sub_8031FD8 sub_8031FD8: @@ -17140,7 +15963,7 @@ sub_803225C: adds r1, r4, 0 bl sub_808D8E0 adds r0, r4, 0 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 ldr r0, _0803230C bl strcpy @@ -17179,7 +16002,7 @@ _080322C6: _08032300: .4byte gUnknown_203B33C _08032304: .4byte 0x0000ffff _08032308: .4byte gUnknown_202E5D8 -_0803230C: .4byte gUnknown_202DF98 +_0803230C: .4byte gAvailablePokemonNames _08032310: .4byte 0x0000052c _08032314: .4byte 0x0000052d thumb_func_end sub_803225C @@ -19098,7 +17921,7 @@ _08033498: .4byte gUnknown_80E3220 _0803349C: movs r0, 0x98 lsls r0, 1 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 ldr r4, _080334F8 ldr r0, [r4] @@ -22943,7 +21766,7 @@ sub_80352A4: adds r1, r4, 0 bl sub_808D8E0 adds r0, r4, 0 - bl sub_808D994 + bl GetMonSpecies adds r1, r0, 0 ldr r0, _080352F8 bl strcpy @@ -22966,7 +21789,7 @@ _080352EC: bx r0 .align 2, 0 _080352F4: .4byte gUnknown_202E5D8 -_080352F8: .4byte gUnknown_202DF98 +_080352F8: .4byte gAvailablePokemonNames _080352FC: .4byte gUnknown_203B33C thumb_func_end sub_80352A4 diff --git a/data/data_80B9BB8.s b/data/data_80B9BB8.s index 7fe5043..0ed109e 100644 --- a/data/data_80B9BB8.s +++ b/data/data_80B9BB8.s @@ -25,9 +25,9 @@ gUnknown_80B9C00: @ 80B9C00 .4byte gUnknown_202DBB8 .4byte VBlankIntr .4byte VCountIntr - .4byte nullsub_177 + .4byte UnusedIntrFunc .4byte Timer3Intr - .4byte nullsub_177 + .4byte UnusedIntrFunc .string "pksdir0\0" .align 2,0 .string "pksdir0\0" @@ -4911,21 +4911,99 @@ gUnknown_80E4A28: @ 80E4A28 .byte 0x10, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 - .global gCreditsText -gCreditsText: @ 80E4A40 - .incbin "baserom.gba", 0xE4A40, 0xEDC - - .global gCreditsTable -gCreditsTable: @ 80E591C - .incbin "baserom.gba", 0xE591C, 0x74 + .global gUnknown_80E4A40 +gUnknown_80E4A40: @ 80E4A40 +@ replacing .incbin "baserom.gba", 0x000e4a40, 0xedc + .byte 0x18, 0x18 + .byte 0x38, 0x00 + .byte 0x21, 0xff + .byte 0x22, 0xff + .byte 0x23, 0xff + .byte 0x24, 0xff + .byte 0x25, 0xff + .byte 0x26, 0xff + .byte 0x27, 0xff + .byte 0x28, 0xff + .byte 0x29, 0xff + .byte 0x2a, 0xff + .byte 0x2b, 0xff + .byte 0x2c, 0xff + .byte 0x2d, 0xff + .byte 0x2e, 0xff + .byte 0x2f, 0xff + .byte 0x30, 0xff + .byte 0x31, 0xff + .byte 0x32, 0xff + .byte 0x33, 0xff + .byte 0x34, 0xff + .byte 0x35, 0xff + .byte 0x36, 0xff + .byte 0x37, 0xff + .byte 0x38, 0xff + .byte 0x39, 0xff + .byte 0x3a, 0xff + .byte 0x41, 0xff + .byte 0x42, 0xff + .byte 0x43, 0xff + .byte 0x44, 0xff + .byte 0x45, 0xff + .byte 0x46, 0xff + .byte 0x47, 0xff + .byte 0x48, 0xff + .byte 0x49, 0xff + .byte 0x4a, 0xff + .byte 0x4b, 0xff + .byte 0x4c, 0xff + .byte 0x4d, 0xff + .byte 0x4e, 0xff + .byte 0x4f, 0xff + .byte 0x50, 0xff + .byte 0x51, 0xff + .byte 0x52, 0xff + .byte 0x53, 0xff + .byte 0x54, 0xff + .byte 0x55, 0xff + .byte 0x56, 0xff + .byte 0x57, 0xff + .byte 0x58, 0xff + .byte 0x59, 0xff + .byte 0x5a, 0xff + .byte 0x10, 0xff + .byte 0x11, 0xff + .byte 0x12, 0xff + .byte 0x13, 0xff + .byte 0x14, 0xff + .byte 0x15, 0xff + .byte 0x16, 0xff + .byte 0x17, 0xff + .byte 0x18, 0xff + .byte 0x19, 0xff + + .include "data/text/credits.inc" .global gUnknown_80E5990 gUnknown_80E5990: @ 80E5990 - .incbin "baserom.gba", 0xE5990, 0x18 + .byte 0x06, 0x02 + .byte 0x40, 0x00 + .byte 0x80, 0x00 + .byte 0x10, 0x00 + .byte 0x20, 0x00 + .byte 0x01, 0x00 + .byte 0x02, 0x00 + .byte 0x00, 0x00 + .string "pksdir0\0" + .align 2,0 .global gUnknown_80E59A8 gUnknown_80E59A8: @ 80E59A8 - .incbin "baserom.gba", 0xE59A8, 0x20 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x03, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + .string "pksdir0\0" + .align 2,0 .global gUnknown_80E59C8 gUnknown_80E59C8: @ 80E59C8 diff --git a/data/text/credits.inc b/data/text/credits.inc new file mode 100644 index 0000000..7bcec19 --- /dev/null +++ b/data/text/credits.inc @@ -0,0 +1,920 @@ +@ Actual Start of Credits + .global Credits_StaffCredits + Credits_StaffCredits: + .byte 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00 + .4byte StaffCredits_80E4AD8 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + .global StaffCredits_80E4AD8 + StaffCredits_80E4AD8: + .string "#+" + .byte 0x82, 0xa0 + .string "STAFF CREDITS" + .byte 0x82, 0xa2, 0x00 + + .global Credits_Producer + Credits_Producer: + .byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00 + .4byte Producer_80E4B20 + .byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00 + .4byte KoichiNakamura + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + .global KoichiNakamura + KoichiNakamura: + .string "Koichi Nakamura\0" + .align 2,0 + .global Producer_80E4B20 + Producer_80E4B20: + .byte 0x82, 0xa0 + .string "PRODUCER" + .byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00 + + .global Credits_Director + Credits_Director: + .byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00 + .4byte Director_80E4B68 + .byte 0x02, 0x00, 0x1e, 0x00 + .byte 0x3c, 0x00, 0x00, 0x00 + .4byte SeeichiroNagahata + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global SeeichiroNagahata + SeeichiroNagahata: + .string "Seiichiro Nagahata\0" + .align 2,0 + .global Director_80E4B68 + Director_80E4B68: + .byte 0x82, 0xa0 + .string "DIRECTOR" + .byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00 + + .global Credits_Scenario + Credits_Scenario: + .byte 0x01, 0x00, 0x0a, 0x00, 0x28, 0x00, 0x00, 0x00 + .4byte Scenario_80EB4CC + .byte 0x02, 0x00, 0x1e, 0x00, 0x37, 0x00, 0x00, 0x00 + .4byte ShinichiroTomie + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte EmikoTanaka + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global EmikoTanaka + EmikoTanaka: + .string "Emiko Tanaka\0" + .align 2,0 + .global ShinichiroTomie + ShinichiroTomie: + .string "Shin-ichiro Tomie\0" + .align 2,0 + .global Scenario_80EB4CC + Scenario_80EB4CC: + .byte 0x82, 0xa0 + .string "SCENARIO" + .byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00 + + .global Credits_GamePlanning + Credits_GamePlanning: + .byte 0x01, 0x00, 0x0a, 0x00, 0x23, 0x00, 0x00, 0x00 + .4byte GamePlanning_80E4C48 + .byte 0x02, 0x00, 0x1e, 0x00, 0x32, 0x00, 0x00, 0x00 + .4byte KunimiKawamura + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte ShonosukeMorisue + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte JiroIshii + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global JiroIshii + JiroIshii: + .string "Jiro Ishii\0" + .align 2,0 + .global ShonosukeMorisue + ShonosukeMorisue: + .string "Shonosuke Morisue\0" + .align 2,0 + .global KunimiKawamura + KunimiKawamura: + .string "Kunimi Kawamura\0" + .align 2,0 + + .global GamePlanning_80E4C48 + GamePlanning_80E4C48: + .byte 0x82, 0xa0 + .string "GAME PLANNING" + .byte 0x82, 0xa2, 0x00, 0x00, 0x00 + + .global Credits_Programming + Credits_Programming: + .byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00 + .4byte MainProgramming_80E4D04 + .byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00 + .4byte MasayasuYamamoto + .byte 0x01, 0x00, 0x0a, 0x00, 0x32, 0x00, 0x00, 0x00 + .4byte Programming_80E4CE0 + .byte 0x02, 0x00, 0x1e, 0x00, 0x41, 0x00, 0x00, 0x00 + .4byte YujiFukuda + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte HironoriIshigami + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte NobuoMorioka + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global NobuoMorioka + NobuoMorioka: + .string "Nobuo Morioka\0" + .align 2,0 + .global HironoriIshigami + HironoriIshigami: + .string "Hironori Ishigami\0" + .align 2,0 + .global YujiFukuda + YujiFukuda: + .string "Yuji Fukuda\0" + .align 2,0 + + .global Programming_80E4CE0 + Programming_80E4CE0: + .byte 0x82, 0xa0 + .string "PROGRAMMING" + .byte 0x82, 0xa2, 0x00 + + .global MasayasuYamamoto + MasayasuYamamoto: + .string "Masayasu Yamamoto\0" + .align 2,0 + + .global MainProgramming_80E4D04 + MainProgramming_80E4D04: + .byte 0x82, 0xa0 + .string "MAIN PROGRAMMING" + .byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00 + + .global Credits_GraphicsDirectorBGIllus + Credits_GraphicsDirectorBGIllus: + .byte 0x01, 0x00, 0x0a, 0x00, 0x23, 0x00, 0x00, 0x00 + .4byte GraphicDirector_80E4D90 + .byte 0x02, 0x00, 0x1e, 0x00, 0x32, 0x00, 0x00, 0x00 + .4byte FuyuhikoKoizumi + .byte 0x01, 0x00, 0x0a, 0x00, 0x46, 0x00, 0x00, 0x00 + .4byte BGIllustration_80E4D68 + .byte 0x02, 0x00, 0x1e, 0x00, 0x55, 0x00, 0x00, 0x00 + .4byte KaoruHasegawa + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + .global KaoruHasegawa + KaoruHasegawa: + .string "Kaoru Hasegawa\0" + .align 2,0 + + .global BGIllustration_80E4D68 + BGIllustration_80E4D68: + .byte 0x82, 0xa0 + .string "BG ILLUSTRATION" + .byte 0x82, 0xa2, 0x00 + + .global FuyuhikoKoizumi + FuyuhikoKoizumi: + .string "Fuyuhiko Koizumi\0" + .align 2,0 + + .global GraphicDirector_80E4D90 + GraphicDirector_80E4D90: + .byte 0x82, 0xa0 + .string "GRAPHIC DIRECTOR" + .byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00 + + .global Credits_DesignDirector + Credits_DesignDirector: + .byte 0x01, 0x00, 0x0a, 0x00, 0x23, 0x00, 0x00, 0x00 + .4byte DesignDirector_80E4E1C + .byte 0x02, 0x00, 0x1e, 0x00, 0x32, 0x00, 0x00, 0x00 + .4byte HiroshiNakamura + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte FujimiOnishi + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte YoshihitoTakaishi + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global YoshihitoTakaishi + YoshihitoTakaishi: + .string "Yoshihito Takaishi\0" + .align 2,0 + .global FujimiOnishi + FujimiOnishi: + .string "Fujimi O-nishi\0" + .align 2,0 + .global HiroshiNakamura + HiroshiNakamura: + .string "Hiroshi Nakamura\0" + .align 2,0 + + .global DesignDirector_80E4E1C + DesignDirector_80E4E1C: + .byte 0x82, 0xa0 + .string "DESIGN DIRECTOR" + .byte 0x82, 0xa2, 0x00 + + .global Credits_CharacterGraphics + Credits_CharacterGraphics: + .byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00 + .4byte CharacterGraphics_80E4EEC + .byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00 + .4byte YoshinariKaiho + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte AsamiWatanabe + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte YusukeFuruya + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte HirokoFujikawa + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte YukoKameyama + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte YukiAda + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + .global YukiUda + YukiAda: + .string "Yuki Uda\0" + .align 2,0 + .global YukoKameyama + YukoKameyama: + .string "Yuko Kameyama\0" + .align 2,0 + .global HirokoFujikawa + HirokoFujikawa: + .string "Hiroko Fujikawa\0" + .align 2,0 + .global YusukeFuruya + YusukeFuruya: + .string "Yusuke Furuya\0" + .align 2,0 + .global AsamiWatanabe + AsamiWatanabe: + .string "Asami Watanabe\0" + .align 2,0 + .global YoshinariKaiho + YoshinariKaiho: + .string "Yoshinari Kaiho\0" + .align 2,0 + + .global CharacterGraphics_80E4EEC + CharacterGraphics_80E4EEC: + .byte 0x82, 0xa0 + .string "CHARACTER GRAPHICS" + .byte 0x82, 0xa2, 0x00, 0x00 + + .global Credits_CharacterGraphics2 + Credits_CharacterGraphics2: + .byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00 + .4byte CharacterGraphics_80E4EEC + .byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00 + .4byte MarieHirosawa + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte YoshikoOta + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte JunkoHarada + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte YuichiHirose + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte NorimasaHigaki + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte MisakiTsukada + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global MisakiTsukada + MisakiTsukada: + .string "Misaki Tsukada\0" + .align 2,0 + .global NorimasaHigaki + NorimasaHigaki: + .string "Norimasa Higaki\0" + .align 2,0 + .global YuichiHirose + YuichiHirose: + .string "Yuichi Hirose\0" + .align 2,0 + .global JunkoHarada + JunkoHarada: + .string "Junko Harada\0" + .align 2,0 + .global YoshikoOta + YoshikoOta: + .string "Yoshiko Ota\0" + .align 2,0 + .global MarieHirosawa + MarieHirosawa: + .string "Marie Hirosawa\0" + .align 2,0 + + .global Credits_BGGraphics + Credits_BGGraphics: + .byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00 + .4byte BGGraphics_80E5088 + .byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00 + .4byte MigakuMatsui + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte ToshimiAoyagi + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte SatoshiMatsuura + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte ShigeruKawahara + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte YukoNakagawa + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte ChikaHirano + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global ChikaHirano + ChikaHirano: + .string "Chika Hirano\0" + .align 2,0 + .global YukoNakagawa + YukoNakagawa: + .string "Yuko Nakagawa\0" + .align 2,0 + .global ShigeruKawahara + ShigeruKawahara: + .string "Shigeru Kawahara\0" + .align 2,0 + .global SatoshiMatsuura + SatoshiMatsuura: + .string "Satoshi Matsuura\0" + .align 2,0 + .global ToshimiAoyagi + ToshimiAoyagi: + .string "Toshimi Aoyagi\0" + .align 2,0 + .global MigakuMatsui + MigakuMatsui: + .string "Migaku Matsui\0" + .align 2,0 + + .global BGGraphics_80E5088 + BGGraphics_80E5088: + .byte 0x82, 0xa0 + .string "BG GRAPHICS" + .byte 0x82, 0xa2, 0x00 + + .global Credits_BGGraphics2 + Credits_BGGraphics2: + .byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00 + .4byte BGGraphics_80E5088 + .byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00 + .4byte KyoheiIshida + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte ReikoNagashima + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte MasayukiShirakawa + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global MasayukiShirakawa + MasayukiShirakawa: + .string "Masayuki Shirakawa\0" + .align 2,0 + .global ReikoNagashima + ReikoNagashima: + .string "Reiko Nagashima\0" + .global KyoheiIshida + KyoheiIshida: + .align 2,0 + .string "Kyohei Ishida\0" + .align 2,0 + + .global Credits_SoundMusic + Credits_SoundMusic: + .byte 0x01, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00 + .4byte SoundDirector_80E51D0 + .byte 0x02, 0x00, 0x1e, 0x00, 0x0f, 0x00, 0x00, 0x00 + .4byte KojiroNakashima + .byte 0x01, 0x00, 0x0a, 0x00, 0x23, 0x00, 0x00, 0x00 + .4byte Music_80E51B0 + .byte 0x02, 0x00, 0x1e, 0x00, 0x32, 0x00, 0x00, 0x00 + .4byte ArataIiyoshi + .byte 0x02, 0x00, 0x1e, 0x00, 0x41, 0x00, 0x00, 0x00 + .4byte AtsurhiroIshizuna + .byte 0x01, 0x00, 0x0a, 0x00, 0x55, 0x00, 0x00, 0x00 + .4byte SoundEffects_80E5178 + .byte 0x02, 0x00, 0x1e, 0x00, 0x64, 0x00, 0x00, 0x00 + .4byte MisakiOkibe + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + .global MisakiOkibe + MisakiOkibe: + .string "Misaki Okibe\0" + .align 2,0 + .global SoundEffects_80E5178 + SoundEffects_80E5178: + .byte 0x82, 0xa0 + .string "SOUND EFFECTS" + .byte 0x82, 0xa2, 0x00, 0x00, 0x00 + + .global AtsurhiroIshizuna + AtsurhiroIshizuna: + .string "Atsuhiro Ishizuna\0" + .align 2,0 + .global ArataIiyoshi + ArataIiyoshi: + .string "Arata Iiyoshi\0" + .align 2,0 + + .global Music_80E51B0 + Music_80E51B0: + .byte 0x82, 0xa0 + .string "MUSIC" + .byte 0x82, 0xa2, 0x00, 0x00, 0x00 + + .global KojiroNakashima + KojiroNakashima: + .string "Kojiro Nakashima\0" + .align 2,0 + .global SoundDirector_80E51D0 + SoundDirector_80E51D0: + .byte 0x82, 0xa0 + .string "SOUND DIRECTOR" + .byte 0x82, 0xa2, 0x00, 0x00 + + .global Credits_SpecialThanks + Credits_SpecialThanks: + .byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00 + .4byte SpecialThanks_80E5218 + .byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00 + .4byte KoyushaLTD + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + .global KoyushaLTD + KoyushaLTD: + .string "KOYUSHA LTD.\0" + .align 2,0 + .global SpecialThanks_80E5218 + SpecialThanks_80E5218: + .byte 0x82, 0xa0 + .string "SPECIAL THANKS" + .byte 0x82, 0xa2, 0x00, 0x00 + + .global Credits_Debug + Credits_Debug: + .byte 0x01, 0x00, 0x0a, 0x00, 0x28, 0x00, 0x00, 0x00 + .4byte Debug_80E5284 + .byte 0x02, 0x00, 0x1e, 0x00, 0x37, 0x00, 0x00, 0x00 + .4byte ChunsoftDebugTeam + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte SuperMarioClub + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + .global SuperMarioClub + SuperMarioClub: + .string "Super Mario Club\0" + .align 2,0 + .global ChunsoftDebugTeam + ChunsoftDebugTeam: + .string "CHUNSOFT Debug Team\0" + .align 2,0 + + .global Debug_80E5284 + Debug_80E5284: + .byte 0x82, 0xa0 + .string "DEBUG" + .byte 0x82, 0xa2, 0x00, 0x00, 0x00 + + .global Credits_PackageIllustration + Credits_PackageIllustration: + .byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00 + .4byte PackageIllustration_80E52C4 + .byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00 + .4byte KenSugimori + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global KenSugimori + KenSugimori: + .string "Ken Sugimori\0" + .align 2,0 + .global PackageIllustration_80E52C4 + PackageIllustration_80E52C4: + .byte 0x82, 0xa0 + .string "PACKAGE ILLUSTRATION" + .byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00 + + .global Credits_Artwork + Credits_Artwork: + .byte 0x01, 0x00, 0x0a, 0x00, 0x14, 0x00, 0x00, 0x00 + .4byte Artwork_80E5384 + .byte 0x02, 0x00, 0x1e, 0x00, 0x23, 0x00, 0x00, 0x00 + .4byte KazuhikoNakanishi + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte SakaeKimura + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte KenichiKoga + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte KiyomoOe + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte FujikoNomura + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global FujikoNomura + FujikoNomura: + .string "Fujiko Nomura\0" + .align 2,0 + .global KiyomoOe + KiyomoOe: + .string "Kiyomo Oe\0" + .align 2,0 + .global KenichiKoga + KenichiKoga: + .string "Ken-ichi Koga\0" + .align 2,0 + .global SakaeKimura + SakaeKimura: + .string "Sakae Kimura\0" + .align 2,0 + .global KazuhikoNakanishi + KazuhikoNakanishi: + .string "Kazuhiko Nakanishi\0" + .align 2,0 + + .global Artwork_80E5384 + Artwork_80E5384: + .byte 0x82, 0xa0 + .string "ARTWORK" + .byte 0x82, 0xa2, 0x00 + + .global Credits_DevelopmentSupport + Credits_DevelopmentSupport: + .byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00 + .4byte DevelopmentSupport_80E544C + .byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00 + .4byte AkihiroKaneko + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte NobuhiroSaito + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte KosukeYoshida + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte KeikoHoriuchi + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte MayumiIso + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte KensukeOguri + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global KensukeOguri + KensukeOguri: + .string "Kensuke Oguri\0" + .align 2,0 + .global MayumiIso + MayumiIso: + .string "Mayumi Iso\0" + .align 2,0 + .global KeikoHoriuchi + KeikoHoriuchi: + .string "Keiko Horiuchi\0" + .align 2,0 + .global KosukeYoshida + KosukeYoshida: + .string "Kosuke Yoshida\0" + .align 2,0 + .global NobuhiroSaito + NobuhiroSaito: + .string "Nobuhiro Saito\0" + .align 2,0 + .global AkihiroKaneko + AkihiroKaneko: + .string "Akihiro Kaneko\0" + .align 2,0 + + .global DevelopmentSupport_80E544C + DevelopmentSupport_80E544C: + .byte 0x82, 0xa0 + .string "DEVELOPMENT SUPPORT" + .byte 0x82, 0xa2, 0x00 + + .global Credits_DevelopmentSupport2 + Credits_DevelopmentSupport2: + .byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00 + .4byte DevelopmentSupport_80E544C + .byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00 + .4byte KojiMalta + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte YasufumiFukuda + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte HizukiMisono + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte TakahiroOnishi + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte TakaoNakano + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global TakaoNakano + TakaoNakano: + .string "Takao Nakano\0" + .align 2,0 + .global TakahiroOnishi + TakahiroOnishi: + .string "Takahiro O-nishi\0" + .align 2,0 + .global HizukiMisono + HizukiMisono: + .string "Hizuki Misono\0" + .align 2,0 + .global YasufumiFukuda + YasufumiFukuda: + .string "Yasufumi Fukuda\0" + .align 2,0 + .global KojiMalta + KojiMalta: + .string "Koji Malta\0" + .align 2,0 + + .global Credits_Localization + Credits_Localization: + .byte 0x01, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00 + .4byte LocalizationCoordinators_80E55CC + .byte 0x02, 0x00, 0x1e, 0x00, 0x0f, 0x00, 0x00, 0x00 + .4byte KeisukeTominaga + .byte 0x02, 0x00, 0x1e, 0x00, 0x23, 0x00, 0x00, 0x00 + .4byte SethMcMahill + .byte 0x01, 0x00, 0x0a, 0x00, 0x32, 0x00, 0x00, 0x00 + .4byte Translator_80E5598 + .byte 0x02, 0x00, 0x1e, 0x00, 0x41, 0x00, 0x00, 0x00 + .4byte NobOgasawara + .byte 0x01, 0x00, 0x0a, 0x00, 0x55, 0x00, 0x00, 0x00 + .4byte Editor_80E557C + .byte 0x02, 0x00, 0x1e, 0x00, 0x64, 0x00, 0x00, 0x00 + .4byte TeresaLillygren + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + .global TeresaLillygren + TeresaLillygren: + .string "Teresa Lillygren\0" + .align 2,0 + .global Editor_80E557C + Editor_80E557C: + .byte 0x82, 0xa0 + .string "EDITOR" + .byte 0x82, 0xa2, 0x00, 0x00 + + .global NobOgasawara + NobOgasawara: + .string "Nob Ogasawara\0" + .align 2,0 + + .global Translator_80E5598 + Translator_80E5598: + .byte 0x82, 0xa0 + .string "TRANSLATOR" + .byte 0x82, 0xa2, 0x00, 0x00 + + .global SethMcMahill + SethMcMahill: + .string "Seth McMahill\0" + .align 2,0 + .global KeisukeTominaga + KeisukeTominaga: + .string "Keisuke Tominaga\0" + .align 2,0 + + .global LocalizationCoordinators_80E55CC + LocalizationCoordinators_80E55CC: + .byte 0x82, 0xa0 + .string "LOCALIZATION COORDINATORS" + .byte 0x82, 0xa2, 0x00, 0x00, 0x00 + + .global Credits_Product + Credits_Product: + .byte 0x01, 0x00, 0x0a, 0x00, 0x05, 0x00, 0x00, 0x00 + .4byte ProductSupport_80E56B8 + .byte 0x02, 0x00, 0x1e, 0x00, 0x14, 0x00, 0x00, 0x00 + .4byte KimikoNakamichi + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte HiroshiAkune + .byte 0x01, 0x00, 0x0a, 0x00, 0x37, 0x00, 0x00, 0x00 + .4byte NoaProductTesting_80E567C + .byte 0x02, 0x00, 0x1e, 0x00, 0x46, 0x00, 0x00, 0x00 + .4byte ThomasHertzog + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte JimHoldeman + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte MikaKurosawa + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global MikaKurosawa + MikaKurosawa: + .string "Mika Kurosawa\0" + .align 2,0 + .global JimHoldeman + JimHoldeman: + .string "Jim Holdeman\0" + .align 2,0 + .global ThomasHertzog + ThomasHertzog: + .string "Thomas Hertzog\0" + .align 2,0 + + .global NoaProductTesting_80E567C + NoaProductTesting_80E567C: + .byte 0x82, 0xa0 + .string "NOA PRODUCT TESTING" + .byte 0x82, 0xa2, 0x00 + + .global HiroshiAkune + HiroshiAkune: + .string "Hiroshi Akune\0" + .align 2,0 + .global KimikoNakamichi + KimikoNakamichi: + .string "Kimiko Nakamichi\0" + .align 2,0 + .global ProductSupport_80E56B8 + ProductSupport_80E56B8: + .byte 0x82, 0xa0 + .string "PRODUCT SUPPORT" + .byte 0x82, 0xa2, 0x00 + + .global Credits_SpecialThanks2 + Credits_SpecialThanks2: + .byte 0x01, 0x00, 0x0a, 0x00, 0x19, 0x00, 0x00, 0x00 + .4byte SpecialThanks_80E5218 + .byte 0x02, 0x00, 0x1e, 0x00, 0x28, 0x00, 0x00, 0x00 + .4byte NicolaWright + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte ShellieDow + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte JoshNewman + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte HitomiRoss + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global HitomiRoss + HitomiRoss: + .string "Hitomi Ross\0" + .align 2,0 + .global JoshNewman + JoshNewman: + .string "Josh Newman\0" + .align 2,0 + .global ShellieDow + ShellieDow: + .string "Shellie Dow\0" + .align 2,0 + .global NicolaWright + NicolaWright: + .string "Nicola Wright\0" + .align 2,0 + + .global Credits_VerySpecialThanks + Credits_VerySpecialThanks: + .byte 0x01, 0x00, 0x0a, 0x00, 0x28, 0x00, 0x00, 0x00 + .4byte VerySpecialThanks_80E579C + .byte 0x02, 0x00, 0x1e, 0x00, 0x37, 0x00, 0x00, 0x00 + .4byte GameFreakInc + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte AmbrellaCoLtd + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global AmbrellaCoLtd + AmbrellaCoLtd: + .string "Ambrella Co., Ltd.\0" + .align 2,0 + + .global GameFreakInc + GameFreakInc: + .string "GAME FREAK inc.\0" + .align 2,0 + + .global VerySpecialThanks_80E579C + VerySpecialThanks_80E579C: + .byte 0x82, 0xa0 + .string "VERY SPECIAL THANKS" + .byte 0x82, 0xa2, 0x00 + + .global Credits_OriginalDirector + Credits_OriginalDirector: + .byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00 + .4byte OriginalDirector_80E57E8 + .byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00 + .4byte SatoshiTajiri + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global SatoshiTajiri + SatoshiTajiri: + .string "Satoshi Tajiri\0" + .align 2,0 + .global OriginalDirector_80E57E8 + OriginalDirector_80E57E8: + .byte 0x82, 0xa0 + .string "POK~e9MON ORIGINAL DIRECTOR" + .byte 0x82, 0xa2, 0x00 + + .global Credits_Producers + Credits_Producers: + .byte 0x01, 0x00, 0x0a, 0x00, 0x19, 0x00, 0x00, 0x00 + .4byte Producers_80E5888 + .byte 0x02, 0x00, 0x1e, 0x00, 0x28, 0x00, 0x00, 0x00 + .4byte HiroakiTsuru + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte AtsushiSugimoto + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte KunimiKawamura + .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00 + .4byte HitoshiYamagami + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global HitoshiYamagami + HitoshiYamagami: + .string "Hitoshi Yamagami\0" + .align 2,0 + .global AtsushiSugimoto + AtsushiSugimoto: + .string "Atsushi Sugimoto\0" + .align 2,0 + .global HiroakiTsuru + HiroakiTsuru: + .string "Hiroaki Tsuru\0" + .align 2,0 + + .global Producers_80E5888 + Producers_80E5888: + .byte 0x82, 0xa0 + .string "PRODUCERS" + .byte 0x82, 0xa2, 0x00, 0x00, 0x00 + + .global Credits_ExectiveProducer + Credits_ExecutiveProducer: + .byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00 + .4byte ExecutiveProducer_80E58CC + .byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00 + .4byte SatoruIwata + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + .global SatoruIwata + SatoruIwata: + .string "Satoru Iwata\0" + .align 2,0 + .global ExecutiveProducer_80E58CC + ExecutiveProducer_80E58CC: + .byte 0x82, 0xa0 + .string "EXECUTIVE PRODUCER" + .byte 0x82, 0xa2, 0x00, 0x00 + + .global Credits_ExectiveProducer2 + Credits_ExecutiveProducer2: + .byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00 + .4byte ExecutiveProducer_80E58CC + .byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00 + .4byte TsuenehazuIshihara + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .global TsunekazuIshihara + TsuenehazuIshihara: + .string "Tsunekazu Ishihara\0" + .align 2,0 + + .global gCreditsTable +gCreditsTable: @ 80E591C +@ replacing .incbin "baserom.gba", 0x000e591c, 0x74 + .4byte Credits_StaffCredits + .4byte Credits_Producer + .4byte Credits_Director + .4byte Credits_Scenario + .4byte Credits_GamePlanning + .4byte Credits_Programming + .4byte Credits_GraphicsDirectorBGIllus + .4byte Credits_DesignDirector + .4byte Credits_CharacterGraphics + .4byte Credits_CharacterGraphics2 + .4byte Credits_BGGraphics + .4byte Credits_BGGraphics2 + .4byte Credits_SoundMusic + .4byte Credits_SpecialThanks + .4byte Credits_Debug + .4byte Credits_PackageIllustration + .4byte Credits_Artwork + .4byte Credits_DevelopmentSupport + .4byte Credits_DevelopmentSupport2 + .4byte Credits_Localization + .4byte Credits_Product + .4byte Credits_SpecialThanks2 + .4byte Credits_VerySpecialThanks + .4byte Credits_OriginalDirector + .4byte Credits_Producers + .4byte Credits_ExecutiveProducer + .4byte Credits_ExecutiveProducer2 + .string "pksdir0\0" + .align 2,0 diff --git a/include/personality_test.h b/include/personality_test.h index 49f6c6b..50615eb 100644 --- a/include/personality_test.h +++ b/include/personality_test.h @@ -17,7 +17,7 @@ struct PersonalityStruct_203B400 /* 0x8 */ s16 StarterID; /* 0xA */ s16 PartnerID; u8 padding[0x20 - 0xC]; - s32 unk20; + s32 unk20; // Buffer to store partner name? u8 padding2[0x34 - 0x24]; /* 0x34 */ u32 TestState; /* 0x38 */ s32 QuestionCounter; diff --git a/ld_script.txt b/ld_script.txt index 87332c1..0bb7a54 100755 --- a/ld_script.txt +++ b/ld_script.txt @@ -90,12 +90,15 @@ SECTIONS { src/code_8027C84_pre.o(.text); asm/code_8027C84.o(.text); src/wonder_mail.o(.text); + src/wonder_mail_mid.o(.text); asm/wonder_mail.o(.text); src/wonder_mail_1.o(.text); - src/credits.o(.text); asm/credits.o(.text); + src/credits.o(.text); src/main_menu.o(.text); asm/main_menu.o(.text); + asm/debug_menu.o(.text); + asm/code_803B050.o(.text); src/pokemon_mail.o(.text); src/code_803C1B4.o(.text); asm/code_803C1D0.o(.text); diff --git a/src/code_8048480.c b/src/code_8048480.c index 7860fa8..880bf05 100644 --- a/src/code_8048480.c +++ b/src/code_8048480.c @@ -7,7 +7,7 @@ struct unkDungeon_8041D5C }; extern u32 gUnknown_80F89F4; -extern u32 gUnknown_202DF98; +extern u32 gAvailablePokemonNames; extern u32 gUnknown_80FB580; extern s16 gUnknown_80F4FB6; extern s16 gUnknown_80F4FB8; @@ -162,6 +162,6 @@ void sub_80484E8(u32 r0, struct unkDungeon_8041D5C *r1) sub_807A290(r0, r1); return; } - sub_8045B94(&gUnknown_202DF98, r1, 0); + sub_8045B94(&gAvailablePokemonNames, r1, 0); sub_80522F4(r0, r1, gUnknown_80FB580); } diff --git a/src/code_80521D0_1.c b/src/code_80521D0_1.c index dd6dc7c..8be3be6 100644 --- a/src/code_80521D0_1.c +++ b/src/code_80521D0_1.c @@ -1,8 +1,9 @@ #include "global.h" +#include "constants/species.h" extern s16 *sub_8085480(void); extern u32 sub_8085680(u32); -extern u32 gUnknown_202E038; +extern char gUnknown_202E038[0x50]; extern u8* gUnknown_203B418; extern u32 gUnknown_8106778; @@ -15,7 +16,7 @@ extern u32 gUnknown_8106918; extern u32 gUnknown_8106934; extern void sub_8086A3C(void); -extern void sub_808D8BC(u32 *r0, u32 r1); +extern void CopySpeciesNametoBuffer(char *r0, u32 r1); extern void sub_8083E88(u32); extern void sub_80854D4(void); extern void sub_80855E4(void *); @@ -51,7 +52,7 @@ void sub_808C9C4(void) sub_80855E4(sub_8086A3C); sub_8085918(temp_2, 0); sub_8085860(array[2], array[3] - 3); - sub_808D8BC(&gUnknown_202E038, 0x14d); + CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_MEDICHAM); } void sub_808CA1C(void) @@ -112,7 +113,7 @@ void sub_808CB5C(void) sub_8085930(0x4); sub_8068FE0(temp_2, 0x87 << 2, 0); sub_8085860(array[2], array[3]); - sub_808D8BC(&gUnknown_202E038, 0x14d); + CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_MEDICHAM); } void nullsub_101(void) @@ -132,7 +133,7 @@ void sub_808CBB0(void) sub_80855E4(sub_8086A3C); sub_8085918(temp_2, 0); sub_8085860(array[2], array[3] - 3); - sub_808D8BC(&gUnknown_202E038, 0x82 << 1); + CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SMEARGLE); } void sub_808CC04(void) @@ -195,6 +196,6 @@ void sub_808CD44(void) sub_80855E4(sub_8086A3C); sub_8068FE0(temp_2, 0x87 << 2, 0); sub_8085860(array[2], array[3] - 3); - sub_808D8BC(&gUnknown_202E038, 0x82 << 1); + CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SMEARGLE); } diff --git a/src/credits.c b/src/credits.c index 2f499fb..2329bd4 100644 --- a/src/credits.c +++ b/src/credits.c @@ -1,33 +1,108 @@ #include "global.h" +#include "input.h" -extern s32 sub_80144A4(s32 *); -extern void sub_80338C4(u32); -extern void sub_80338C4(u32); +extern struct Inputs gRealInputs; -void sub_8035404(u32 param_1) +struct unkStruct_203B344 { - s32 iVar1; + u32 unk0; // state variable + u32 unk4; // timer?? +}; - if(sub_80144A4(&iVar1) == 0){ - sub_80338C4(param_1); - } -} +struct unkStruct_203B340 +{ + // size: 0x84 + u32 unk0; +}; + +extern void MemoryFree(void *); +extern void* MemoryAlloc(u32, u32); +extern void sub_80015C0(u32, u32); -void sub_8035424(void) +extern u16 gUnknown_80E5990[]; +extern struct unkStruct_203B344 *gUnknown_203B344; +extern struct unkStruct_203B340 *gUnknown_203B340; +extern s32 sub_8001658(u32, u32); + +void sub_803565C(void) { - sub_80338C4(6); + if(gUnknown_203B340 != NULL) + { + MemoryFree(gUnknown_203B340); + gUnknown_203B340 = NULL; + } } -void sub_8035430(void) + +u32 sub_8035678(void) { - sub_80338C4(0x4F); + gUnknown_203B344 = MemoryAlloc(sizeof(struct unkStruct_203B344), 8); + gUnknown_203B344->unk0 = 0; + gUnknown_203B344->unk4 = 0; + sub_80015C0(0, 0x39); + return 1; } -void nullsub_50(void) +u32 sub_80356A0(void) { + u16 uVar1; + u16 held_input; + + held_input = gRealInputs.held; + uVar1 = gUnknown_80E5990[gUnknown_203B344->unk4]; + + switch(gUnknown_203B344->unk0) { + case 0: + gUnknown_203B344->unk0 = 3; + break; + case 1: + if (uVar1 == 0) + gUnknown_203B344->unk0 = 4; + else { + if (held_input == uVar1) + gUnknown_203B344->unk0 = 2; + else { + // NOTE: couldn't match with OR'd condition so split up to match + if ((uVar1 & held_input) != held_input) + gUnknown_203B344->unk0 = 3; + else + { + if (gUnknown_203B344->unk4 == 0) + gUnknown_203B344->unk0 = 3; + } + } + } + break; + case 2: + if (held_input == 0) { + gUnknown_203B344->unk0 = 1; + gUnknown_203B344->unk4++; + } + else { + if ((uVar1 & held_input) != held_input) + gUnknown_203B344->unk0 = 3; + } + break; + case 3: + return 2; + case 4: + return 3; // sub_809C478 clears the flash data when this is returned + } + + if (sub_8001658(0,0x39) != 0) { + gUnknown_203B344->unk0 = 3; + return 2; + } + else { + return 0; + } } -void nullsub_51(void) +void sub_8035758(void) { + if(gUnknown_203B344 != NULL) + { + MemoryFree(gUnknown_203B344); + gUnknown_203B344 = NULL; + } } - diff --git a/src/main_menu.c b/src/main_menu.c index 0302550..d0a8f36 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -39,7 +39,7 @@ extern void sub_803225C(void); extern void sub_803A1D8(void); extern void sub_80398AC(void); extern void sub_80382A0(void); -extern void sub_8039254(u32); +extern void CreateLoadScreen(u32); extern void sub_8035DB4(u32); extern void sub_8038900(u32); extern void sub_803850C(u32); @@ -57,7 +57,7 @@ extern s32 sub_8038630(void); extern s32 sub_803A2A4(void); extern void CleanMainMenu(void); -extern void sub_80393F0(void); +extern void CleanLoadScreen(void); extern void sub_8036B04(void); extern void sub_80370D4(void); extern void sub_80327E4(void); @@ -109,7 +109,7 @@ void SetUpMenu(void) case 7: case 8: case 9: - sub_8039254(gUnknown_203B348->unk4); + CreateLoadScreen(gUnknown_203B348->unk4); break; case 0xc: sub_8036400(); @@ -248,7 +248,7 @@ void CleanUpMenu(void) case 7: case 8: case 9: - sub_80393F0(); + CleanLoadScreen(); break; case 0xc: sub_8036B04(); diff --git a/src/music_pre.c b/src/music_pre.c index edb00cd..53c5688 100644 --- a/src/music_pre.c +++ b/src/music_pre.c @@ -19,6 +19,15 @@ extern void sub_800C298(u16 r0); typedef void (*IntrCallback)(void); extern IntrCallback gUnknown_202D5F0[]; +struct unkStruct_202D648 +{ + s16 unk0; + s16 unk2; // Vcount?? + IntrCallback unk4; // some function... just making it IntrCallback for now +}; +extern struct unkStruct_202D648 gUnknown_202D648[8]; +extern struct unkStruct_202D648 gUnknown_202D608[8]; + extern struct MusicPlayerInfo gUnknown_20008F0; // BGM?? extern u32 gUnknown_203B0A0; extern u32 gUnknown_203B0A4; @@ -34,6 +43,13 @@ extern u8 gUnknown_203B09B; extern u32 gUnknown_203B09C; extern u8 gUnknown_203B09A; +extern u32 gUnknown_203B0A0; +extern s16 gUnknown_203B0AA; +extern s16 gUnknown_203B0AC; +extern s16 gUnknown_203B0AE; +extern s16 gUnknown_203B0B0; +extern s16 gUnknown_203B0B2; + struct unkStruct_3000FD8 { u16 unk0; @@ -51,9 +67,188 @@ extern struct BGControlStruct gBG1Control; extern struct BGControlStruct gBG2Control; extern struct BGControlStruct gBG3Control; +extern void SoundVSync(); +extern void BlinkSavingIcon(); + void sub_800BF80(void); void xxx_update_bg_sound_input(void); +void UnusedIntrFunc(void) +{ +} + +void VBlankIntr(void) +{ + int index; + + gUnknown_203B0A0++; + SoundVSync(); + BlinkSavingIcon(); + if (gUnknown_202D5F0[1] != NULL) { + gUnknown_202D5F0[1](); + } + index = 0; + while (index < gUnknown_203B0AA) { + gUnknown_202D648[index] = gUnknown_202D608[index]; + index++; + } + gUnknown_203B0AC = gUnknown_203B0AA; + gUnknown_203B0AE = -1; + gUnknown_203B0B0 = -1; + gUnknown_203B0B2 = -1; + REG_DISPSTAT = DISPSTAT_VBLANK_INTR | DISPSTAT_VCOUNT_INTR; + if (gUnknown_203B099 == 0) { + UpdateSound(); + } + SetInterruptFlag(INTR_FLAG_VBLANK); +} + +// Registers are a little off.. seems to be around the while loop +#ifdef NONMATCHING +void VCountIntr(void) +{ + s32 sVar1; + s32 sVar2; + + // Hack to get the lsr/asr shifts + sVar2 = REG_VCOUNT << 16; + sVar2 = sVar2 >> 16; + + if (gUnknown_203B0AE < 0) { + if (gUnknown_202D5F0[2] != 0) { + gUnknown_202D5F0[2](); + } + gUnknown_203B0AE = 0; + } + if (gUnknown_203B0AE < gUnknown_203B0AC) { + sVar1 = gUnknown_202D648[gUnknown_203B0AE].unk2; + while (sVar1 <= sVar2) { + if ( gUnknown_202D648[gUnknown_203B0AE].unk4 != NULL) { + gUnknown_202D648[gUnknown_203B0AE].unk4(); + } + gUnknown_203B0AE++; + if (gUnknown_203B0AC >= gUnknown_203B0AE) break; + sVar1 = gUnknown_202D648[gUnknown_203B0AE].unk2; + } + if (gUnknown_203B0AE < gUnknown_203B0AC) { + REG_DISPSTAT = gUnknown_202D648[gUnknown_203B0AE].unk2 << 8 | DISPSTAT_VBLANK_INTR | DISPSTAT_VCOUNT_INTR; + } + } + SetInterruptFlag(INTR_FLAG_VCOUNT); +} +#else +NAKED +void VCountIntr(void) +{ + asm_unified( + "\tpush {r4-r7,lr}\n" + "\tmov r7, r8\n" + "\tpush {r7}\n" + "\tldr r0, _0800BA44\n" + "\tldrh r0, [r0]\n" + "\tlsls r0, 16\n" + "\tasrs r6, r0, 16\n" + "\tldr r0, _0800BA48\n" + "\tmovs r2, 0\n" + "\tldrsh r1, [r0, r2]\n" + "\tadds r7, r0, 0\n" + "\tcmp r1, 0\n" + "\tbge _0800B9B2\n" + "\tldr r0, _0800BA4C\n" + "\tldr r0, [r0, 0x8]\n" + "\tcmp r0, 0\n" + "\tbeq _0800B9AE\n" + "\tbl _call_via_r0\n" +"_0800B9AE:\n" + "\tmovs r0, 0\n" + "\tstrh r0, [r7]\n" +"_0800B9B2:\n" + "\tldr r0, _0800BA50\n" + "\tmovs r3, 0\n" + "\tldrsh r2, [r7, r3]\n" + "\tmovs r3, 0\n" + "\tldrsh r1, [r0, r3]\n" + "\tmov r8, r0\n" + "\tcmp r2, r1\n" + "\tbge _0800BA34\n" + "\tldr r1, _0800BA54\n" + "\tadds r0, r2, 0\n" + "\tlsls r0, 3\n" + "\tadds r0, r1\n" + "\tmovs r3, 0x2\n" + "\tldrsh r0, [r0, r3]\n" + "\tcmp r0, r6\n" + "\tbgt _0800BA10\n" + "\tadds r5, r1, 0\n" + "\tadds r4, r7, 0\n" +"_0800B9D6:\n" + "\tmovs r1, 0\n" + "\tldrsh r0, [r4, r1]\n" + "\tlsls r0, 3\n" + "\tadds r1, r5, 0x4\n" + "\tadds r0, r1\n" + "\tldr r0, [r0]\n" + "\tcmp r0, 0\n" + "\tbeq _0800B9EA\n" + "\tbl _call_via_r0\n" +"_0800B9EA:\n" + "\tldrh r0, [r4]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r4]\n" + "\tldr r1, _0800BA50\n" + "\tlsls r0, 16\n" + "\tasrs r0, 16\n" + "\tmovs r2, 0\n" + "\tldrsh r1, [r1, r2]\n" + "\tcmp r0, r1\n" + "\tbge _0800BA34\n" + "\tmovs r3, 0\n" + "\tldrsh r0, [r4, r3]\n" + "\tlsls r0, 3\n" + "\tadds r0, r5\n" + "\tmovs r1, 0x2\n" + "\tldrsh r0, [r0, r1]\n" + "\tldr r7, _0800BA48\n" + "\tcmp r0, r6\n" + "\tble _0800B9D6\n" +"_0800BA10:\n" + "\tmovs r2, 0\n" + "\tldrsh r1, [r7, r2]\n" + "\tmov r3, r8\n" + "\tmovs r2, 0\n" + "\tldrsh r0, [r3, r2]\n" + "\tcmp r1, r0\n" + "\tbge _0800BA34\n" + "\tldr r2, _0800BA58\n" + "\tldr r1, _0800BA54\n" + "\tmovs r3, 0\n" + "\tldrsh r0, [r7, r3]\n" + "\tlsls r0, 3\n" + "\tadds r0, r1\n" + "\tldrh r0, [r0, 0x2]\n" + "\tlsls r0, 8\n" + "\tmovs r1, 0x28\n" + "\torrs r0, r1\n" + "\tstrh r0, [r2]\n" +"_0800BA34:\n" + "\tmovs r0, 0x4\n" + "\tbl SetInterruptFlag\n" + "\tpop {r3}\n" + "\tmov r8, r3\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" +"_0800BA44: .4byte 0x04000006\n" +"_0800BA48: .4byte gUnknown_203B0AE\n" +"_0800BA4C: .4byte gUnknown_202D5F0\n" +"_0800BA50: .4byte gUnknown_203B0AC\n" +"_0800BA54: .4byte gUnknown_202D648\n" +"_0800BA58: .4byte 0x04000004" + ); +} +#endif + void sub_800BA5C(void) { if(gUnknown_203B09A != 0) diff --git a/src/personality_test_pre.c b/src/personality_test_pre.c index 27a55a8..5c5f85e 100644 --- a/src/personality_test_pre.c +++ b/src/personality_test_pre.c @@ -50,14 +50,14 @@ extern void sub_8014248(const char *text, u32, u32, u32 *r0, u32, u32, u32, u32, extern u32 sub_80144A4(s32 *); extern void sub_803CE6C(void); -extern u32 sub_808D994(u32); -extern void sub_80922F4(s32 *r0, u32); +extern char* GetMonSpecies(u32); +extern void CopyStringtoBuffer(s32 *r0, char *r1); extern void sub_801602C(u32, s32 *r0); extern u32 sub_8016080(void); extern void sub_80160D8(void); extern void sub_8099690(u32); -extern void sub_808D8BC(u32 *r0, u32); +extern void CopySpeciesNametoBuffer(char *r0, u32); extern void sub_8006518(void *); extern void sub_800641C(void *, u32, u32); @@ -89,7 +89,7 @@ extern u32 gGenderMenu; extern u8 gNatureQuestionTable[NUM_QUIZ_QUESTIONS]; extern const char *gPersonalityTypeDescriptionTable[]; -extern u32 gUnknown_202DF98; +extern char gAvailablePokemonNames[0x50]; struct unkData gUnknown_80F4244 = @@ -503,12 +503,12 @@ void sub_803CB5C(void) void sub_803CB7C(void) { - u32 uVar1; + char *monName; s32 *iVar2; iVar2 = &gUnknown_203B400->unk20; - uVar1 = sub_808D994(gUnknown_203B400->PartnerID); - sub_80922F4(iVar2,uVar1); + monName = GetMonSpecies(gUnknown_203B400->PartnerID); + CopyStringtoBuffer(iVar2, monName); sub_801602C(3, &gUnknown_203B400->unk20); gUnknown_203B400->TestState = 13; } @@ -567,7 +567,7 @@ void PromptNewQuestion(void) void PrintPersonalityTypeDescription(void) { - sub_808D8BC(&gUnknown_202DF98,gUnknown_203B400->StarterID); + CopySpeciesNametoBuffer(gAvailablePokemonNames, gUnknown_203B400->StarterID); sub_80141B4(gPersonalityTypeDescriptionTable[gUnknown_203B400->playerNature],0, 0,0x101); } diff --git a/src/wonder_mail.c b/src/wonder_mail.c index 274625c..e2daaa6 100644 --- a/src/wonder_mail.c +++ b/src/wonder_mail.c @@ -1,12 +1,16 @@ #include "global.h" #include "save.h" +#include "pokemon.h" +#include "file_system.h" +#include "constants/species.h" // Wonder Mail Related struct WonderMailStruct_203B2C0 { + // size: 0x548 u32 unk0; u32 unk4; - u8 padding2[0x38]; + u8 unk8[0x38]; u32 unk40; u32 unk44; u16 unk48[232]; @@ -22,7 +26,7 @@ struct WonderMailStruct_203B2C0 u8 padding5[0x5C]; u32 unk3BC; u8 padding4[0x60]; - u32 unk420; + u32 unk420; // Is this supposed to be a File like 203B2C4? u8 padding3[0x110]; u32 unk534; s32 unk538; // A7 << 3 @@ -31,29 +35,65 @@ struct WonderMailStruct_203B2C0 s16 unk544; }; +struct unkStruct_203B2C4 +{ + // size: 0x564 + u8 unk0; + u8 padding[3]; + u32 unk4; // wonder mail link status?? + u8 unk8[0x36]; + u8 unk3E; + u32 unk40; + u32 unk44; // another link status + u8 filler48[0x218 - 0x48]; + s8 unk218; + u32 unk21C; + u8 filler220[0x30C - 0x220]; + u32 unk30C; + u8 filler310[0x35C - 0x310]; + u32 unk35C; + u8 filler360[0x3BC - 0x360]; + u32 unk3BC; + u8 filler3C0[0x41C - 0x3C0]; + u8 *unk41C; + /* 0x420 */ struct OpenedFile *faceFile; + /* 0x424 */ u8 *faceData; + u16 unk428; + u16 unk42A; + u8 unk42C; + u8 unk42D; + u8 unk42E; + u32 unk430; + u8 padding3[0x534 - 0x434]; + s32 unk534; + u32 unk538; +}; +extern struct unkStruct_203B2C4 *gUnknown_203B2C4; + struct unkStruct_8095228 { u32 unk0; u8 unk4; - u8 padding[0x27]; + u8 padding[0x10 - 0x5]; + u32 unk10; + u8 padding2[0x20 - 0x14]; + u8 *unk20; + u8 padding3[0x2C - 0x24]; + s8 unk2C; + u8 padding4[0x30 - 0x2D]; s8 unk30; }; +// Used as a temp storage when receiveing A-OK Mail struct unkStruct_80293F4 { - // size of 0x44 - u32 unk0; - u32 unk4; - u32 unk8; - u32 *unkC; + u8 unkArray[0x10]; u32 unk10; - u8 unk14[0xA]; // very unsure about this one - u32 unk20; - u32 unk24; - u32 padding[7]; + u8 padding[0x30 - 0x14]; }; + extern struct WonderMailStruct_203B2C0 *gUnknown_203B2C0; extern u32 sub_80144A4(s32 *r0); @@ -81,6 +121,19 @@ extern u32 gWonderMailPasswordIncorrectText; extern u32 gWonderMailSOSPasswordIncorrectText; extern u32 gWonderMailDuplicateText; extern u32 gWonderMailAOKMailReceivedText; +extern u32 gUnknown_80DDA48; +extern u32 gUnknown_80DEF04; +extern u32 gUnknown_80DEF28; +extern u32 gUnknown_80DEF80; +extern u32 gUnknown_80DEFDC; +extern u32 gUnknown_80DF044; +extern u32 gUnknown_80DF0A0; +extern u32 gUnknown_80DF0E0; +extern u32 gUnknown_80DF138; +extern u32 gUnknown_80DF194; +extern char gUnknown_202E5D8[0x50]; +extern char gAvailablePokemonNames[0x50]; +extern u8 *gUnknown_80DED44; extern s32 sub_8095190(void); extern u32 sub_8095324(u32); @@ -91,7 +144,7 @@ extern void sub_800641C(void *r0, u8, u8); extern void ResetUnusedInputStruct(); extern void sub_803084C(); extern u32 sub_8030768(u32); -extern u8 sub_80307EC(); +extern s8 sub_80307EC(); extern void sub_8030D40(u8, u32); extern void sub_8006518(u32 *r0); extern u8 sub_8012FD8(u32 *r0); @@ -104,11 +157,13 @@ extern void sub_803092C(void); extern void sub_8011C28(u32); +extern void MemoryFill8(u8 *dest, u8 value, s32 size); +extern void* MemoryAlloc(u32, u32); +extern void MemoryFree(void *); + extern u32 sub_80154F0(); -void MemoryFill8(u8 *dest, u8 value, s32 size); -extern u32 sub_8039068(u32, u32 *r1, u8 *r0); -extern u32 gUnknown_80DDA48; -extern void sub_8014248(u32 *r0, u32, u32, u32 *r1); +extern u32 sub_8039068(u32, u8 *r1, u8 *r0); +extern void sub_8014248(u32 *r0, u32, u32, u32 *r4, u32, u32, u32, u32 *r5, u32); extern void sub_8095274(u32); extern void sub_80155F0(); extern void sub_80951BC(u8 *r0); @@ -126,6 +181,61 @@ extern u8 sub_8024108(u32); extern u32 sub_8031DCC(); extern void sub_8031E10(); extern void sub_8031E00(); +void sub_808D8E0(u8 *, u32); +extern char* GetMonSpecies(u32); +extern s32 sub_80953D4(u32); +extern void sub_802B2BC(u32); + +extern void sub_802AAE4(); +extern void sub_802AAC8(); +extern void sub_802AAAC(); +extern void sub_802AB7C(); +extern void sub_802AA28(); +extern void sub_802A98C(); +extern void sub_802A9A8(); +extern void sub_802A910(); +extern void sub_802A8BC(); +extern void sub_802A8A0(); +extern void sub_802A798(); +extern void sub_802A474(); +extern void sub_802A090(); +extern void sub_802A158(); +extern void sub_802A0C8(); +extern void sub_802A174(); +extern void sub_802A230(); +extern void sub_802A28C(); +extern void sub_802A39C(); +extern void sub_802A33C(); +extern void sub_802A740(); +extern void sub_802A6F0(); +extern void sub_802A68C(); +extern void sub_802A4D4(); +extern void sub_802A050(); +extern void sub_802A4AC(); +extern void sub_802A458(); +extern void sub_802A75C(); +extern void sub_8029F98(); +extern void sub_8029EA8(); +extern void sub_802A490(); +extern void sub_802AB60(); +extern void sub_802AB98(); +extern void sub_802A718(); +extern void sub_802A6B4(); +extern void sub_802A4F0(); +extern void sub_802A50C(); +extern void sub_802A9FC(); +extern void sub_802A828(); +extern void sub_802A850(); +extern void sub_8030DE4(); +extern void sub_801B450(); +extern void sub_803084C(); +extern void sub_801CBB8(); +extern void sub_80155F0(); +extern void sub_8031E10(); +extern void sub_802F2C0(); + + + void sub_8028B04(u32 r0) { @@ -546,7 +656,7 @@ void sub_8028FDC(void) } else { - if(return_var->unk30 <= 0) + if(return_var->unk2C <= 0) { sub_8028B04(0x1D); } @@ -817,24 +927,20 @@ void sub_80293D8(void) sub_8028B04(0x27); } -#ifndef NONMATCHING -NAKED -#endif +// TODO: pls someone fix this madness of a match - Sese +// This is definitely a fake match with the casting and switch could probably be cleaned up too.. +// void sub_80293F4(void) { -#ifdef NONMATCHING u32 return_var; - u32 temp_var; struct unkStruct_80293F4 temp; + return_var = sub_80154F0(); - MemoryFill8(temp.unk14, 0, 0x30); + MemoryFill8((u8 *)temp.unkArray, 0, 0x30); switch(return_var) { case 3: - return_var = sub_8039068(0x1C, &(gUnknown_203B2C0->unk8), temp.unk14) - 7; - if(return_var <= 0x11) - { - switch(return_var) + switch(sub_8039068(0x1C, (gUnknown_203B2C0->unk8), temp.unkArray) - 7) { case 1: case 2: @@ -847,13 +953,7 @@ void sub_80293F4(void) case 9: break; case 10: - // TODO one register off from matching - temp.unk0 = 0; - temp.unk4 = 4; - temp.unk8 = 0; - temp.unkC = &(gUnknown_203B2C0->unk420); - temp.unk10 = 0xC; - sub_8014248(&gWonderMailPasswordIncorrectText, 0, 8, &gUnknown_80DDA48); + sub_8014248(&gWonderMailPasswordIncorrectText, 0, 8, &gUnknown_80DDA48, 0, 4, 0, &gUnknown_203B2C0->unk420, 0xC); sub_8028B04(0x28); break; case 11: @@ -869,10 +969,9 @@ void sub_80293F4(void) case 14: break; case 15: - sub_8095274(temp.unk24); - // This one is iffy.. not sure - temp.unk14[0] = 2; - sub_80951BC(temp.unk14); + sub_8095274(temp.unk10); + temp.unkArray[0] = 2; // Some sort of Ack? + sub_80951BC(temp.unkArray); sub_80141B4(&gWonderMailAOKMailReceivedText, 0, &gUnknown_203B2C0->unk420, 0x101); sub_8028B04(0x23); break; @@ -881,7 +980,6 @@ void sub_80293F4(void) default: break; } - } sub_80155F0(); break; case 2: @@ -893,158 +991,6 @@ void sub_80293F4(void) default: break; } -#else - asm_unified("\tpush {r4,lr}\n" - "\tsub sp, 0x44\n" - "\tbl sub_80154F0\n" - "\tadds r4, r0, 0\n" - "\tadd r0, sp, 0x14\n" - "\tmovs r1, 0\n" - "\tmovs r2, 0x30\n" - "\tbl MemoryFill8\n" - "\tcmp r4, 0x2\n" - "\tbne _0802940E\n" - "\tb _08029530\n" -"_0802940E:\n" - "\tcmp r4, 0x3\n" - "\tbeq _08029414\n" - "\tb _08029550\n" -"_08029414:\n" - "\tldr r0, _08029434\n" - "\tldr r1, [r0]\n" - "\tadds r1, 0x8\n" - "\tmovs r0, 0x1C\n" - "\tadd r2, sp, 0x14\n" - "\tbl sub_8039068\n" - "\tsubs r0, 0x7\n" - "\tcmp r0, 0x11\n" - "\tbls _0802942A\n" - "\tb _0802951C\n" -"_0802942A:\n" - "\tlsls r0, 2\n" - "\tldr r1, _08029438\n" - "\tadds r0, r1\n" - "\tldr r0, [r0]\n" - "\tmov pc, r0\n" - "\t.align 2, 0\n" -"_08029434: .4byte gUnknown_203B2C0\n" -"_08029438: .4byte _0802943C\n" - "\t.align 2, 0\n" -"_0802943C:\n" - "\t.4byte _080294C8\n" - "\t.4byte _0802951C\n" - "\t.4byte _0802951C\n" - "\t.4byte _0802951C\n" - "\t.4byte _0802951C\n" - "\t.4byte _0802951C\n" - "\t.4byte _0802951C\n" - "\t.4byte _0802951C\n" - "\t.4byte _0802951C\n" - "\t.4byte _0802951C\n" - "\t.4byte _08029484\n" - "\t.4byte _080294C0\n" - "\t.4byte _0802951C\n" - "\t.4byte _0802951C\n" - "\t.4byte _0802951C\n" - "\t.4byte _080294F0\n" - "\t.4byte _0802951C\n" - "\t.4byte _0802951C\n" -"_08029484:\n" - "\tldr r0, _080294B4\n" - "\tldr r3, _080294B8\n" - "\tmovs r2, 0\n" - "\tstr r2, [sp]\n" - "\tmovs r1, 0x4\n" - "\tstr r1, [sp, 0x4]\n" - "\tstr r2, [sp, 0x8]\n" - "\tldr r1, _080294BC\n" - "\tldr r1, [r1]\n" - "\tmovs r2, 0x84\n" - "\tlsls r2, 3\n" - "\tadds r1, r2\n" - "\tstr r1, [sp, 0xC]\n" - "\tmovs r1, 0xC\n" - "\tstr r1, [sp, 0x10]\n" - "\tmovs r1, 0\n" - "\tmovs r2, 0x8\n" - "\tbl sub_8014248\n" - "\tmovs r0, 0x28\n" - "\tbl sub_8028B04\n" - "\tb _0802951C\n" - "\t.align 2, 0\n" -"_080294B4: .4byte gWonderMailPasswordIncorrectText\n" -"_080294B8: .4byte gUnknown_80DDA48\n" -"_080294BC: .4byte gUnknown_203B2C0\n" -"_080294C0:\n" - "\tldr r0, _080294C4\n" - "\tb _080294CA\n" - "\t.align 2, 0\n" -"_080294C4: .4byte gWonderMailSOSPasswordIncorrectText\n" -"_080294C8:\n" - "\tldr r0, _080294E4\n" -"_080294CA:\n" - "\tldr r1, _080294E8\n" - "\tldr r2, [r1]\n" - "\tmovs r1, 0x84\n" - "\tlsls r1, 3\n" - "\tadds r2, r1\n" - "\tldr r3, _080294EC\n" - "\tmovs r1, 0\n" - "\tbl sub_80141B4\n" - "\tmovs r0, 0x7\n" - "\tbl sub_8028B04\n" - "\tb _0802951C\n" - "\t.align 2, 0\n" -"_080294E4: .4byte gWonderMailDuplicateText\n" -"_080294E8: .4byte gUnknown_203B2C0\n" -"_080294EC: .4byte 0x0000010d\n" -"_080294F0:\n" - "\tldr r0, [sp, 0x24]\n" - "\tbl sub_8095274\n" - "\tadd r1, sp, 0x14\n" - "\tmovs r0, 0x2\n" - "\tstrb r0, [r1]\n" - "\tadds r0, r1, 0\n" - "\tbl sub_80951BC\n" - "\tldr r0, _08029524\n" - "\tldr r1, _08029528\n" - "\tldr r2, [r1]\n" - "\tmovs r1, 0x84\n" - "\tlsls r1, 3\n" - "\tadds r2, r1\n" - "\tldr r3, _0802952C\n" - "\tmovs r1, 0\n" - "\tbl sub_80141B4\n" - "\tmovs r0, 0x23\n" - "\tbl sub_8028B04\n" -"_0802951C:\n" - "\tbl sub_80155F0\n" - "\tb _08029550\n" - "\t.align 2, 0\n" -"_08029524: .4byte gWonderMailAOKMailReceivedText\n" -"_08029528: .4byte gUnknown_203B2C0\n" -"_0802952C: .4byte 0x00000101\n" -"_08029530:\n" - "\tbl sub_80155F0\n" - "\tbl ResetUnusedInputStruct\n" - "\tldr r0, _08029558\n" - "\tldr r0, [r0]\n" - "\tmovs r2, 0xEF\n" - "\tlsls r2, 2\n" - "\tadds r0, r2\n" - "\tmovs r1, 0x1\n" - "\tmovs r2, 0x1\n" - "\tbl sub_800641C\n" - "\tmovs r0, 0x1\n" - "\tbl sub_8028B04\n" -"_08029550:\n" - "\tadd sp, 0x44\n" - "\tpop {r4}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.align 2, 0\n" -"_08029558: .4byte gUnknown_203B2C0\n"); -#endif } void sub_802955C(void) @@ -1436,3 +1382,252 @@ void sub_8029B34(void) } sub_8028B04(3); } + +u32 sub_8029B50(void) +{ + char *monName; + struct OpenedFile *faceFile; + s32 uVar2; + int counter; + struct unkStruct_8095228 *temp; + + ResetUnusedInputStruct(); + sub_800641C(0,1,1); + gUnknown_203B2C4 = MemoryAlloc(0x564, 8); + MemoryFill8((u8 *)gUnknown_203B2C4, 0, 0x564); + + sub_808D8E0(gUnknown_202E5D8, SPECIES_PELIPPER); + monName = GetMonSpecies(SPECIES_PELIPPER); + strcpy(gAvailablePokemonNames, monName); + faceFile = GetDialogueSpriteDataPtr(SPECIES_PELIPPER); + + gUnknown_203B2C4->faceFile = faceFile; + gUnknown_203B2C4->faceData = faceFile->data; + gUnknown_203B2C4->unk42C = 0; + gUnknown_203B2C4->unk42D = 0; + gUnknown_203B2C4->unk42E = 0; + gUnknown_203B2C4->unk428 = 2; + gUnknown_203B2C4->unk42A = 8; + + for(counter = 0; counter < 0x36; counter++){ + gUnknown_203B2C4->unk8[counter] = 0; + } + + gUnknown_203B2C4->unk534 = 3; + gUnknown_203B2C4->unk538 = 1; + + uVar2 = sub_80953D4(6); + if (uVar2 != -1) { + temp = sub_8095228(uVar2); + gUnknown_203B2C4->unk41C = temp->unk20; + gUnknown_203B2C4->unk218 = uVar2; + gUnknown_203B2C4->unk430 = temp->unk10; + sub_802B2BC(5); + } + else { + gUnknown_203B2C4->unk41C = gUnknown_80DED44; + gUnknown_203B2C4->unk218 = -1; + sub_802B2BC(0); + } + gUnknown_203B2C4->unk4 = 0x2b; + return 1; +} + +u32 sub_8029C98(void) +{ + + switch(gUnknown_203B2C4->unk0) { + case 5: + sub_802AB7C(); + break; + case 0x1e: + sub_8029F98(); + break; + case 0x1f: + sub_8029EA8(); + break; + case 0xe: + sub_802A090(); + break; + case 0xf: + sub_802A158(); + break; + case 0x11: + sub_802A174(); + break; + case 0x12: + sub_802A230(); + break; + case 0x10: + sub_802A0C8(); + break; + case 0x13: + sub_802A28C(); + break; + case 0x14: + sub_802A39C(); + break; + case 0x15: + sub_802A33C(); + break; + case 0x1c: + sub_802A458(); + break; + case 0x1b: + sub_802A4AC(); + break; + case 0x19: + sub_802A4D4(); + break; + case 0x1a: + sub_802A050(); + break; + case 0x28: + sub_802A9FC(); + break; + case 0x26: + sub_802A4F0(); + break; + case 0x27: + sub_802A50C(); + break; + case 0x25: + sub_802A6B4(); + break; + case 0x24: + sub_802A718(); + break; + case 0x21: + sub_802AB60(); + break; + case 0x22: + sub_802AB98(); + break; + case 0x16: + sub_802A740(); + break; + case 0x18: + sub_802A68C(); + break; + case 0x17: + sub_802A6F0(); + break; + case 0x1d: + sub_802A75C(); + break; + case 0x20: + sub_802A490(); + break; + case 0xd: + sub_802A474(); + break; + case 0xc: + sub_802A798(); + break; + case 0x29: + sub_802A828(); + break; + case 0x2a: + sub_802A850(); + break; + case 0xb: + sub_802A8A0(); + break; + case 10: + sub_802A8BC(); + break; + case 9: + sub_802A910(); + break; + case 7: + sub_802A98C(); + break; + case 8: + sub_802A9A8(); + break; + case 6: + sub_802AA28(); + break; + case 4: + sub_802AAAC(); + break; + case 0: + case 1: + sub_802AAE4(); + break; + case 2: + sub_802AAC8(); + break; + case 3: + return 3; + } + return 0; +} + +void sub_8029E60(void) +{ + if(gUnknown_203B2C4 != NULL) + { + CloseFile(gUnknown_203B2C4->faceFile); + MemoryFree(gUnknown_203B2C4); + gUnknown_203B2C4 = NULL; + sub_8030DE4(); + sub_801B450(); + sub_803084C(); + sub_801CBB8(); + sub_80155F0(); + sub_8031E10(); + sub_802F2C0(); + } +} + +void sub_8029EA8(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + sub_802B2BC(1); + } +} + +void sub_8029EC4(u32 param_1) +{ + switch(param_1) { + case 3: + sub_80141B4(&gUnknown_80DEF28, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d); + break; + case 4: + sub_80141B4(&gUnknown_80DEF80, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d); + break; + case 6: + sub_80141B4(&gUnknown_80DEFDC, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d); + break; + case 7: + sub_80141B4(&gUnknown_80DF044, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d); + break; + case 9: + sub_80141B4(&gUnknown_80DF0A0, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d); + break; + case 11: + sub_80141B4(&gUnknown_80DF0A0, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d); + break; + case 13: + sub_80141B4(&gUnknown_80DF0E0, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d); + break; + case 1: + case 2: + case 5: + case 14: + sub_80141B4(&gUnknown_80DEF04, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d); + break; + case 15: + sub_80141B4(&gUnknown_80DF138,0,(u32 *)&gUnknown_203B2C4->faceFile, 0x10d); + break; + case 0: + case 8: + case 10: + case 12: + default: + return; + } +} diff --git a/src/wonder_mail_1.c b/src/wonder_mail_1.c index e8ca386..20f901c 100644 --- a/src/wonder_mail_1.c +++ b/src/wonder_mail_1.c @@ -2,8 +2,7 @@ extern void sub_80338C4(u32); extern u32 *gUnknown_203B33C; - -u32 sub_80144A4(s32 *); +extern s32 sub_80144A4(s32 *); void sub_8035374(void) { @@ -45,3 +44,30 @@ void sub_80353BC(void) break; } } + +void sub_8035404(u32 param_1) +{ + s32 iVar1; + + if(sub_80144A4(&iVar1) == 0){ + sub_80338C4(param_1); + } +} + +void sub_8035424(void) +{ + sub_80338C4(6); +} + +void sub_8035430(void) +{ + sub_80338C4(0x4F); +} + +void nullsub_50(void) +{ +} + +void nullsub_51(void) +{ +} diff --git a/src/wonder_mail_mid.c b/src/wonder_mail_mid.c new file mode 100644 index 0000000..93b2f5e --- /dev/null +++ b/src/wonder_mail_mid.c @@ -0,0 +1,399 @@ +#include "global.h" +#include "file_system.h" + +struct unkStruct_203B2C4 +{ + // size: 0x564 + u8 unk0; + u8 padding[3]; + u32 unk4; // wonder mail link status?? + u8 unk8[0x36]; + u8 unk3E; + u32 unk40; + u32 unk44; // another link status + u8 filler48[0x218 - 0x48]; + s8 unk218; + u32 unk21C; + u8 filler220[0x30C - 0x220]; + u32 unk30C; + u8 filler310[0x35C - 0x310]; + u32 unk35C; + u8 filler360[0x3BC - 0x360]; + u32 unk3BC; + u8 filler3C0[0x41C - 0x3C0]; + u8 unk41C[4]; // TODO: unify this with wonder_mail.c + struct OpenedFile *faceFile; + u8 *faceData; + u16 unk428; + u16 unk42A; + u8 unk42C; + u8 unk42D; + u8 unk42E; + u32 unk430; + u8 filler434[0x534 - 0x434]; + s32 unk534; + u32 unk538; +}; +extern struct unkStruct_203B2C4 *gUnknown_203B2C4; + + +extern u16 gUnknown_80E5990[]; +extern struct unkStruct_203B340 *gUnknown_203B340; +extern s32 sub_8001658(u32, u32); +extern u32 gUnknown_80E4A40[]; +extern u8 sub_8099B94(); + +extern void sub_8099A5C(u32, u32, u32*); +extern void sub_8099AFC(u32, u32, u32*); +extern void sub_800641C(void *, u32, u32); +extern void ResetUnusedInputStruct(); +extern void sub_8099690(u32); +extern void sub_80141B4(u32 *r0, u32, u32 *r1, u32); + + +extern void MemoryFill8(u8 *dest, u8 value, s32 size); +extern u32 gUnknown_80DF194; +extern void sub_8029EC4(u32 param_1); + +extern void sub_802B2BC(u32); +extern u32 sub_80144A4(s32 *r0); +extern u32 sub_8031DCC(void); +extern void sub_8031E00(void); +extern void sub_8031E10(void); +extern void sub_8030D40(u8, u32); +extern u32 sub_8030768(u32); +extern void sub_803084C(void); +extern s8 sub_80307EC(void); +extern void sub_8006518(u32 *); +extern u8 sub_8012FD8(u32 *r0); +extern void sub_8013114(u32 *, s32 *); +extern void sub_8035CC0(u32 *, u32); +extern void sub_8030810(u32); +extern u32 sub_8030DA0(); +extern void sub_8030DE4(); +extern void sub_803092C(); +extern void sub_8035CF4(u32 *, u32, u32); +extern u32 sub_801CA08(u32); +extern void sub_801CBB8(); +extern void sub_801B3C0(u8 *); +extern u8 sub_801CB24(); +extern void sub_801B450(); +extern u32 sub_801B410(); +extern void sub_801CB5C(u32); +extern void sub_801CCD8(); +extern void sub_8011C28(u32); +extern void sub_8012574(u32); + +void sub_8029F98(void) +{ + s32 auStack20; + + if (sub_80144A4(&auStack20) != 0) { + return; + } + MemoryFill8(gUnknown_203B2C4->unk41C, 0, 4); + gUnknown_203B2C4->unk41C[2] = 0; + gUnknown_203B2C4->unk41C[1] = 1; + gUnknown_203B2C4->unk41C[0] = 0; + if (gUnknown_203B2C4->unk44 == 0) { + switch(gUnknown_203B2C4->unk40) + { + case 6: + switch(gUnknown_203B2C4->unk534) + { + case 3: + case 5: + case 6: + sub_80141B4(&gUnknown_80DF194, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d); + break; + case 4: + default: + break; + } + sub_802B2BC(0xD); + return; + case 7: + sub_802B2BC(0x21); + return; + default: + return; + } + } + else + { + sub_8029EC4(gUnknown_203B2C4->unk44); + sub_802B2BC(0x1F); + } +} + +void sub_802A050(void) +{ + switch(sub_8031DCC()) + { + + case 3: + case 2: + sub_8031E10(); + ResetUnusedInputStruct(); + sub_800641C(&gUnknown_203B2C4->unk3BC, 1, 1); + sub_802B2BC(0x1B); + break; + case 1: + sub_8031E00(); + break; + default: + return; + } +} + +void sub_802A090(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + switch(temp) + { + case 7: + sub_802B2BC(6); + break; + case 8: + case 0: + sub_802B2BC(1); + break; + default: + break; + } + } +} + +void sub_802A0C8(void) +{ + switch(sub_8030768(1)) + { + case 2: + sub_803084C(); + sub_802B2BC(1); + break; + case 3: + gUnknown_203B2C4->unk218 = sub_80307EC(); + sub_802B2BC(0x11); + break; + case 4: + gUnknown_203B2C4->unk4 = 0x10; + gUnknown_203B2C4->unk218 = sub_80307EC(); + sub_8006518(&gUnknown_203B2C4->unk3BC); + ResetUnusedInputStruct(); + sub_800641C(0,1,1); + sub_8030D40(gUnknown_203B2C4->unk218,0); + sub_802B2BC(0x12); + } +} + +void sub_802A158(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + sub_802B2BC(0x10); + } +} + +void sub_802A174(void) +{ + s32 temp; + + temp = -1; + sub_8030768(0); + if (sub_8012FD8(&gUnknown_203B2C4->unk30C) == 0) { + sub_8013114(&gUnknown_203B2C4->unk30C, &temp); + } + + switch(temp) + { + case 0xB: + sub_803084C(); + sub_802B2BC(0xe); + break; + case 0xC: + gUnknown_203B2C4->unk4 = 0x2b; + sub_8006518(&gUnknown_203B2C4->unk3BC); + ResetUnusedInputStruct(); + sub_800641C(0,1,1); + sub_8030D40(gUnknown_203B2C4->unk218,0); + sub_802B2BC(0x12); + break; + case 0: + case 0xD: + sub_8035CC0(&gUnknown_203B2C4->unk35C,2); + sub_8030810(1); + sub_802B2BC(0x10); + default: + break; + } +} + +void sub_802A230(void) +{ + switch(sub_8030DA0()) + { + case 2: + case 3: + sub_8030DE4(); + ResetUnusedInputStruct(); + sub_800641C(&gUnknown_203B2C4->unk3BC, 1, 1); + sub_803092C(); + if (gUnknown_203B2C4->unk4 == 0x2b) { + sub_8035CF4(&gUnknown_203B2C4->unk21C, 3, 1); + sub_802B2BC(0x11); + } + else { + sub_802B2BC(gUnknown_203B2C4->unk4); + } + break; + default: + break; + } +} + +void sub_802A28C(void) +{ + + gUnknown_203B2C4->unk41C[2] = 0; + gUnknown_203B2C4->unk41C[1] = 1; + gUnknown_203B2C4->unk41C[0] = 0; + + switch(sub_801CA08(1)) + { + case 2: + sub_801CBB8(); + sub_802B2BC(1); + break; + case 3: + gUnknown_203B2C4->unk41C[2] = sub_801CB24(); + sub_802B2BC(0x14); + break; + case 4: + gUnknown_203B2C4->unk4 = 0x13; + gUnknown_203B2C4->unk41C[2] = sub_801CB24(); + sub_8006518(&gUnknown_203B2C4->unk3BC); + ResetUnusedInputStruct(); + sub_800641C(0,1,1); + sub_801B3C0(gUnknown_203B2C4->unk41C); + sub_802B2BC(0x15); + break; + } +} + +void sub_802A33C(void) +{ + switch(sub_801B410()) + { + case 2: + case 3: + sub_801B450(); + ResetUnusedInputStruct(); + sub_800641C(&gUnknown_203B2C4->unk3BC,1,1); + sub_801CB5C(1); + if (gUnknown_203B2C4->unk4 == 0x2b) { + sub_8035CF4(&gUnknown_203B2C4->unk21C,3,1); + sub_802B2BC(0x14); + } + else { + sub_802B2BC(gUnknown_203B2C4->unk4); + } + break; + case 1: + default: + break; + } +} + +void sub_802A39C(void) +{ + s32 temp; + + temp = -1; + sub_801CA08(0); + if (sub_8012FD8(&gUnknown_203B2C4->unk30C) == 0) { + sub_8013114(&gUnknown_203B2C4->unk30C, &temp); + } + + switch(temp) + { + case 0xB: + sub_801CBB8(); + sub_802B2BC(0xC); + break; + case 0xC: + gUnknown_203B2C4->unk4 = 0x2b; + sub_8006518(&gUnknown_203B2C4->unk3BC); + ResetUnusedInputStruct(); + sub_800641C(0,1,1); + sub_801B3C0(gUnknown_203B2C4->unk41C); + sub_802B2BC(0x15); + break; + case 0: + case 0xD: + sub_8035CC0(&gUnknown_203B2C4->unk35C, 3); + sub_801CCD8(); + sub_802B2BC(0x13); + default: + break; + } +} + +void sub_802A458(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + sub_802B2BC(0xD); + } +} + +void sub_802A474(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + sub_802B2BC(0x3); + } +} + +void sub_802A490(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + sub_802B2BC(0x3); + } +} + +void sub_802A4AC(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + sub_802B2BC(0x18); + sub_8011C28(1); + sub_8012574(0); + } +} + +void sub_802A4D4(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + sub_802B2BC(0x1A); + } +} + +void sub_802A4F0(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + sub_802B2BC(0x27); + } +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 53ff44a..febc159 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -398,7 +398,7 @@ gUnknown_202DE58 = .; /* 202DE58 */ gUnknown_202DEA8 = .; /* 202DEA8 */ . += 0xF0; -gUnknown_202DF98 = .; /* 202DF98 ( Available Pokemon Names ) */ +gAvailablePokemonNames = .; /* 202DF98 */ . += 0x50; gUnknown_202DFE8 = .; /* 202DFE8 */ |