diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_tower.s | 2 | ||||
-rw-r--r-- | asm/berry_crush_3.s | 4 | ||||
-rw-r--r-- | asm/easy_chat.s | 1863 | ||||
-rw-r--r-- | asm/link_rfu.s | 26 | ||||
-rw-r--r-- | asm/mon_markings.s | 6 | ||||
-rw-r--r-- | asm/pokemon_size_record.s | 482 |
6 files changed, 22 insertions, 2361 deletions
diff --git a/asm/battle_tower.s b/asm/battle_tower.s index fe6aac664..0f33b5cd6 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -1863,7 +1863,7 @@ sub_80E678C: @ 80E678C movs r1, 0x3 movs r2, 0x2 movs r3, 0x12 - bl sub_80BD974 + bl EC_DoesEasyChatStringFitOnLine lsls r0, 24 cmp r0, 0 beq _080E67E4 diff --git a/asm/berry_crush_3.s b/asm/berry_crush_3.s index 51657f296..fa7e038cb 100644 --- a/asm/berry_crush_3.s +++ b/asm/berry_crush_3.s @@ -1537,7 +1537,7 @@ _0814E21A: lsls r1, r2, 3 subs r1, r2 lsls r1, 2 - ldr r0, _0814E294 @ =sBerries + ldr r0, _0814E294 @ =gBerries adds r1, r0 ldr r0, _0814E298 @ =gStringVar1 bl StringCopy @@ -1591,7 +1591,7 @@ _0814E27E: bl StringCopy b _0814E2B8 .align 2, 0 -_0814E294: .4byte sBerries +_0814E294: .4byte gBerries _0814E298: .4byte gStringVar1 _0814E29C: .4byte gUnknown_846F4B8 _0814E2A0: .4byte gStringVar4 diff --git a/asm/easy_chat.s b/asm/easy_chat.s deleted file mode 100644 index 0daa8b2bc..000000000 --- a/asm/easy_chat.s +++ /dev/null @@ -1,1863 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80BD718 -sub_80BD718: @ 80BD718 - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x14 - beq _080BD73E - cmp r0, 0x14 - bgt _080BD738 - cmp r0, 0x11 - blt _080BD74C - ldr r0, _080BD734 @ =0x0000082c - bl FlagGet - b _080BD746 - .align 2, 0 -_080BD734: .4byte 0x0000082c -_080BD738: - cmp r1, 0x15 - beq _080BD742 - b _080BD74C -_080BD73E: - movs r0, 0 - b _080BD74E -_080BD742: - bl sub_80BDCA8 -_080BD746: - lsls r0, 24 - lsrs r0, 24 - b _080BD74E -_080BD74C: - movs r0, 0x1 -_080BD74E: - pop {r1} - bx r1 - thumb_func_end sub_80BD718 - - thumb_func_start start_menu_is_selected_item_valid -start_menu_is_selected_item_valid: @ 80BD754 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - cmp r0, 0x15 - bne _080BD76C - movs r0, 0 - bl GetNationalPokedexCount - lsls r0, 16 - lsrs r0, 16 - b _080BD782 -_080BD76C: - bl sub_80BD718 - lsls r0, 24 - cmp r0, 0 - bne _080BD77A - movs r0, 0 - b _080BD782 -_080BD77A: - ldr r0, _080BD788 @ =gUnknown_83ECED4 - lsls r1, r4, 3 - adds r1, r0 - ldrh r0, [r1, 0x6] -_080BD782: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080BD788: .4byte gUnknown_83ECED4 - thumb_func_end start_menu_is_selected_item_valid - - thumb_func_start sub_80BD78C -sub_80BD78C: @ 80BD78C - push {r4,r5,lr} - lsls r2, r0, 16 - lsrs r1, r2, 16 - ldr r0, _080BD7B8 @ =0x0000ffff - cmp r1, r0 - beq _080BD7EC - lsrs r3, r2, 25 - ldr r5, _080BD7BC @ =0x000001ff - ands r5, r1 - cmp r3, 0x15 - bhi _080BD7F0 - ldr r0, _080BD7C0 @ =gUnknown_83ECED4 - lsls r2, r3, 3 - adds r1, r2, r0 - ldrh r4, [r1, 0x4] - cmp r3, 0x13 - bgt _080BD7C4 - cmp r3, 0x12 - bge _080BD7C8 - cmp r3, 0 - beq _080BD7C8 - b _080BD7E8 - .align 2, 0 -_080BD7B8: .4byte 0x0000ffff -_080BD7BC: .4byte 0x000001ff -_080BD7C0: .4byte gUnknown_83ECED4 -_080BD7C4: - cmp r3, 0x15 - bne _080BD7E8 -_080BD7C8: - adds r0, r2, r0 - ldr r2, [r0] - movs r1, 0 - cmp r1, r4 - bcs _080BD7F0 -_080BD7D2: - lsls r0, r1, 1 - adds r0, r2 - ldrh r0, [r0] - cmp r5, r0 - beq _080BD7EC - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r4 - bcc _080BD7D2 - b _080BD7F0 -_080BD7E8: - cmp r5, r4 - bcs _080BD7F0 -_080BD7EC: - movs r0, 0 - b _080BD7F2 -_080BD7F0: - movs r0, 0x1 -_080BD7F2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80BD78C - - thumb_func_start GetEasyChatWord -GetEasyChatWord: @ 80BD7F8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r2, r1, 16 - cmp r0, 0x13 - bgt _080BD810 - cmp r0, 0x12 - bge _080BD824 - cmp r0, 0 - beq _080BD814 - b _080BD834 -_080BD810: - cmp r0, 0x15 - bne _080BD834 -_080BD814: - movs r0, 0xB - muls r0, r2 - ldr r1, _080BD820 @ =gSpeciesNames - adds r0, r1 - b _080BD846 - .align 2, 0 -_080BD820: .4byte gSpeciesNames -_080BD824: - movs r0, 0xD - muls r0, r2 - ldr r1, _080BD830 @ =gMoveNames - adds r0, r1 - b _080BD846 - .align 2, 0 -_080BD830: .4byte gMoveNames -_080BD834: - ldr r1, _080BD84C @ =gUnknown_83ECED4 - lsls r0, 3 - adds r0, r1 - ldr r1, [r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] -_080BD846: - pop {r1} - bx r1 - .align 2, 0 -_080BD84C: .4byte gUnknown_83ECED4 - thumb_func_end GetEasyChatWord - - thumb_func_start CopyEasyChatWord -CopyEasyChatWord: @ 80BD850 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r6, r1, 16 - lsrs r0, r6, 16 - adds r4, r0, 0 - bl sub_80BD78C - lsls r0, 24 - cmp r0, 0 - beq _080BD86C - ldr r1, _080BD868 @ =gUnknown_841E093 - b _080BD87E - .align 2, 0 -_080BD868: .4byte gUnknown_841E093 -_080BD86C: - ldr r0, _080BD888 @ =0x0000ffff - cmp r4, r0 - beq _080BD890 - ldr r1, _080BD88C @ =0x000001ff - ands r1, r4 - lsrs r0, r6, 25 - bl GetEasyChatWord - adds r1, r0, 0 -_080BD87E: - adds r0, r5, 0 - bl StringCopy - b _080BD896 - .align 2, 0 -_080BD888: .4byte 0x0000ffff -_080BD88C: .4byte 0x000001ff -_080BD890: - movs r0, 0xFF - strb r0, [r5] - adds r0, r5, 0 -_080BD896: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CopyEasyChatWord - - thumb_func_start ConvertEasyChatWordsToString -ConvertEasyChatWordsToString: @ 80BD89C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 16 - lsls r3, 16 - lsrs r3, 16 - mov r9, r3 - ldr r0, _080BD924 @ =0xffff0000 - adds r2, r0 - lsrs r7, r2, 16 - movs r0, 0 - cmp r0, r9 - bcs _080BD90C -_080BD8BE: - movs r6, 0 - adds r0, 0x1 - mov r8, r0 - cmp r6, r7 - bcs _080BD8F0 - ldr r2, _080BD928 @ =0x0000ffff -_080BD8CA: - ldrh r1, [r5] - adds r0, r4, 0 - str r2, [sp] - bl CopyEasyChatWord - adds r4, r0, 0 - ldrh r0, [r5] - ldr r2, [sp] - cmp r0, r2 - beq _080BD8E4 - movs r0, 0 - strb r0, [r4] - adds r4, 0x1 -_080BD8E4: - adds r5, 0x2 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, r7 - bcc _080BD8CA -_080BD8F0: - ldrh r1, [r5] - adds r5, 0x2 - adds r0, r4, 0 - bl CopyEasyChatWord - adds r4, r0, 0 - movs r0, 0xFE - strb r0, [r4] - adds r4, 0x1 - mov r1, r8 - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, r9 - bcc _080BD8BE -_080BD90C: - subs r4, 0x1 - movs r0, 0xFF - strb r0, [r4] - adds r0, r4, 0 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080BD924: .4byte 0xffff0000 -_080BD928: .4byte 0x0000ffff - thumb_func_end ConvertEasyChatWordsToString - - thumb_func_start sub_80BD92C -sub_80BD92C: @ 80BD92C - push {r4,r5,lr} - lsls r5, r0, 16 - lsrs r0, r5, 16 - adds r4, r0, 0 - ldr r0, _080BD940 @ =0x0000ffff - cmp r4, r0 - bne _080BD944 - movs r0, 0 - b _080BD96A - .align 2, 0 -_080BD940: .4byte 0x0000ffff -_080BD944: - adds r0, r4, 0 - bl sub_80BD78C - lsls r0, 24 - cmp r0, 0 - bne _080BD960 - ldr r1, _080BD95C @ =0x000001ff - ands r1, r4 - lsrs r0, r5, 25 - bl GetEasyChatWord - b _080BD962 - .align 2, 0 -_080BD95C: .4byte 0x000001ff -_080BD960: - ldr r0, _080BD970 @ =gUnknown_841E093 -_080BD962: - bl StringLength - lsls r0, 16 - lsrs r0, 16 -_080BD96A: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080BD970: .4byte gUnknown_841E093 - thumb_func_end sub_80BD92C - - thumb_func_start sub_80BD974 -sub_80BD974: @ 80BD974 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 16 - lsrs r3, 16 - mov r10, r3 - movs r7, 0 - cmp r7, r8 - bcs _080BD9D6 - subs r0, r1, 0x1 - lsls r0, 16 - mov r9, r0 -_080BD99E: - mov r0, r9 - lsrs r4, r0, 16 - movs r5, 0 - cmp r5, r1 - bcs _080BD9C4 -_080BD9A8: - ldrh r0, [r6] - adds r6, 0x2 - str r1, [sp] - bl sub_80BD92C - adds r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, [sp] - cmp r5, r1 - bcc _080BD9A8 -_080BD9C4: - cmp r4, r10 - bls _080BD9CC - movs r0, 0x1 - b _080BD9D8 -_080BD9CC: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, r8 - bcc _080BD99E -_080BD9D6: - movs r0, 0 -_080BD9D8: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80BD974 - - thumb_func_start sub_80BD9E8 -sub_80BD9E8: @ 80BD9E8 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl Random - ldr r2, _080BDA38 @ =gUnknown_83ECED4 - lsls r1, r4, 3 - adds r1, r2 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r1, 0x4] - bl __umodsi3 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r4, 0 - beq _080BDA16 - cmp r4, 0x15 - beq _080BDA16 - cmp r4, 0x12 - beq _080BDA16 - cmp r4, 0x13 - bne _080BDA24 -_080BDA16: - ldr r1, _080BDA38 @ =gUnknown_83ECED4 - lsls r0, r4, 3 - adds r0, r1 - ldr r1, [r0] - lsls r0, r2, 1 - adds r0, r1 - ldrh r2, [r0] -_080BDA24: - movs r0, 0x7F - ands r0, r4 - lsls r0, 9 - ldr r1, _080BDA3C @ =0x000001ff - ands r2, r1 - orrs r0, r2 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080BDA38: .4byte gUnknown_83ECED4 -_080BDA3C: .4byte 0x000001ff - thumb_func_end sub_80BD9E8 - - thumb_func_start sub_80BDA40 -sub_80BDA40: @ 80BDA40 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - adds r4, r0, 0 - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80BD718 - lsls r0, 24 - cmp r0, 0 - bne _080BDA60 - ldr r0, _080BDA5C @ =0x0000ffff - b _080BDA74 - .align 2, 0 -_080BDA5C: .4byte 0x0000ffff -_080BDA60: - cmp r4, 0x15 - beq _080BDA6C - adds r0, r4, 0 - bl sub_80BD9E8 - b _080BDA70 -_080BDA6C: - bl sub_80BDCB8 -_080BDA70: - lsls r0, 16 - lsrs r0, 16 -_080BDA74: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80BDA40 - - thumb_func_start sub_80BDA7C -sub_80BDA7C: @ 80BDA7C - push {r4,r5,lr} - ldr r0, _080BDA90 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x1 - beq _080BDAB4 - cmp r0, 0x1 - bgt _080BDA94 - cmp r0, 0 - beq _080BDA9E - b _080BDB08 - .align 2, 0 -_080BDA90: .4byte gSpecialVar_0x8004 -_080BDA94: - cmp r0, 0x2 - beq _080BDADC - cmp r0, 0x3 - beq _080BDAEC - b _080BDB08 -_080BDA9E: - ldr r0, _080BDAAC @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _080BDAB0 @ =0x00002ca0 - adds r5, r0, r1 - movs r2, 0x2 - b _080BDAF6 - .align 2, 0 -_080BDAAC: .4byte gSaveBlock1Ptr -_080BDAB0: .4byte 0x00002ca0 -_080BDAB4: - ldr r0, _080BDAD4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _080BDAD8 @ =0x00002cac - adds r5, r0, r1 - adds r0, r5, 0 - movs r1, 0x3 - movs r2, 0x2 - movs r3, 0x12 - bl sub_80BD974 - lsls r0, 24 - cmp r0, 0 - beq _080BDAF4 - movs r2, 0x2 - movs r3, 0x3 - b _080BDAF8 - .align 2, 0 -_080BDAD4: .4byte gSaveBlock1Ptr -_080BDAD8: .4byte 0x00002cac -_080BDADC: - ldr r0, _080BDAE4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _080BDAE8 @ =0x00002cb8 - b _080BDAF2 - .align 2, 0 -_080BDAE4: .4byte gSaveBlock1Ptr -_080BDAE8: .4byte 0x00002cb8 -_080BDAEC: - ldr r0, _080BDB10 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _080BDB14 @ =0x00002cc4 -_080BDAF2: - adds r5, r0, r1 -_080BDAF4: - movs r2, 0x3 -_080BDAF6: - movs r3, 0x2 -_080BDAF8: - ldr r4, _080BDB18 @ =gStringVar4 - adds r0, r4, 0 - adds r1, r5, 0 - bl ConvertEasyChatWordsToString - adds r0, r4, 0 - bl ShowFieldAutoScrollMessage -_080BDB08: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BDB10: .4byte gSaveBlock1Ptr -_080BDB14: .4byte 0x00002cc4 -_080BDB18: .4byte gStringVar4 - thumb_func_end sub_80BDA7C - - thumb_func_start BufferRandomHobbyOrLifestyleString -BufferRandomHobbyOrLifestyleString: @ 80BDB1C - push {lr} - bl Random - movs r1, 0x1 - ands r1, r0 - movs r0, 0xC - cmp r1, 0 - beq _080BDB2E - movs r0, 0xD -_080BDB2E: - bl sub_80BDA40 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _080BDB44 @ =gStringVar2 - bl CopyEasyChatWord - pop {r0} - bx r0 - .align 2, 0 -_080BDB44: .4byte gStringVar2 - thumb_func_end BufferRandomHobbyOrLifestyleString - - thumb_func_start sub_80BDB48 -sub_80BDB48: @ 80BDB48 - lsls r0, 24 - lsrs r2, r0, 27 - movs r1, 0xE0 - lsls r1, 19 - ands r1, r0 - lsrs r1, 24 - ldr r0, _080BDB68 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r3, _080BDB6C @ =0x00002f10 - adds r0, r3 - adds r0, r2 - ldrb r0, [r0] - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - bx lr - .align 2, 0 -_080BDB68: .4byte gSaveBlock1Ptr -_080BDB6C: .4byte 0x00002f10 - thumb_func_end sub_80BDB48 - - thumb_func_start EnableRareWord -EnableRareWord: @ 80BDB70 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x20 - bhi _080BDB94 - lsrs r3, r0, 27 - movs r2, 0x7 - ands r2, r1 - ldr r0, _080BDB98 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, _080BDB9C @ =0x00002f10 - adds r1, r0 - adds r1, r3 - movs r0, 0x1 - lsls r0, r2 - ldrb r2, [r1] - orrs r0, r2 - strb r0, [r1] -_080BDB94: - pop {r0} - bx r0 - .align 2, 0 -_080BDB98: .4byte gSaveBlock1Ptr -_080BDB9C: .4byte 0x00002f10 - thumb_func_end EnableRareWord - - thumb_func_start sub_80BDBA0 -sub_80BDBA0: @ 80BDBA0 - push {r4,r5,lr} - movs r4, 0 - movs r5, 0 -_080BDBA6: - adds r0, r4, 0 - bl sub_80BDB48 - lsls r0, 24 - cmp r0, 0 - beq _080BDBB8 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_080BDBB8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x20 - bls _080BDBA6 - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80BDBA0 - - thumb_func_start sub_80BDBCC -sub_80BDBCC: @ 80BDBCC - push {r4-r6,lr} - bl sub_80BDBA0 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x21 - bne _080BDBF8 - b _080BDC32 -_080BDBDC: - adds r0, r5, 0 - bl EnableRareWord - ldr r0, _080BDBF4 @ =0x000001ff - ands r4, r0 - movs r1, 0xA0 - lsls r1, 6 - adds r0, r1, 0 - orrs r4, r0 - adds r0, r4, 0 - b _080BDC34 - .align 2, 0 -_080BDBF4: .4byte 0x000001ff -_080BDBF8: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x21 - subs r1, r4 - bl __modsi3 - lsls r0, 16 - lsrs r6, r0, 16 - movs r4, 0 -_080BDC0E: - lsls r0, r4, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_80BDB48 - lsls r0, 24 - cmp r0, 0 - bne _080BDC28 - cmp r6, 0 - beq _080BDBDC - subs r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080BDC28: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x20 - bls _080BDC0E -_080BDC32: - ldr r0, _080BDC3C @ =0x0000ffff -_080BDC34: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080BDC3C: .4byte 0x0000ffff - thumb_func_end sub_80BDBCC - - thumb_func_start sub_80BDC40 -sub_80BDC40: @ 80BDC40 - push {r4,r5,lr} - bl sub_80BDBA0 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080BDC64 - b _080BDC9A -_080BDC50: - ldr r0, _080BDC60 @ =0x000001ff - ands r4, r0 - movs r1, 0xA0 - lsls r1, 6 - adds r0, r1, 0 - orrs r4, r0 - adds r0, r4, 0 - b _080BDC9C - .align 2, 0 -_080BDC60: .4byte 0x000001ff -_080BDC64: - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r5, 0 - bl __umodsi3 - lsls r0, 16 - lsrs r5, r0, 16 - movs r4, 0 -_080BDC78: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80BDB48 - lsls r0, 24 - cmp r0, 0 - beq _080BDC90 - cmp r5, 0 - beq _080BDC50 - subs r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080BDC90: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x20 - bls _080BDC78 -_080BDC9A: - ldr r0, _080BDCA4 @ =0x0000ffff -_080BDC9C: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080BDCA4: .4byte 0x0000ffff - thumb_func_end sub_80BDC40 - - thumb_func_start sub_80BDCA8 -sub_80BDCA8: @ 80BDCA8 - push {lr} - bl IsNationalPokedexEnabled - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80BDCA8 - - thumb_func_start sub_80BDCB8 -sub_80BDCB8: @ 80BDCB8 - push {r4-r7,lr} - movs r0, 0 - bl start_menu_is_selected_item_valid - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - bne _080BDCD8 - b _080BDD22 -_080BDCCA: - ldrh r1, [r5] - ldr r0, _080BDCD4 @ =0x000001ff - ands r0, r1 - b _080BDD24 - .align 2, 0 -_080BDCD4: .4byte 0x000001ff -_080BDCD8: - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0 - bl __umodsi3 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _080BDD2C @ =gUnknown_83ECED4 - ldr r5, [r0] - ldrh r7, [r0, 0x4] - movs r6, 0 - cmp r6, r7 - bcs _080BDD22 -_080BDCF6: - ldrh r0, [r5] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _080BDD16 - cmp r4, 0 - beq _080BDCCA - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_080BDD16: - adds r5, 0x2 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, r7 - bcc _080BDCF6 -_080BDD22: - ldr r0, _080BDD30 @ =0x0000ffff -_080BDD24: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080BDD2C: .4byte gUnknown_83ECED4 -_080BDD30: .4byte 0x0000ffff - thumb_func_end sub_80BDCB8 - - thumb_func_start InitEasyChatPhrases -InitEasyChatPhrases: @ 80BDD34 - push {r4-r7,lr} - movs r4, 0 - ldr r5, _080BDE00 @ =gSaveBlock1Ptr - ldr r3, _080BDE04 @ =0x00002ca0 - ldr r2, _080BDE08 @ =gUnknown_83EDFF0 -_080BDD3E: - ldr r1, [r5] - lsls r0, r4, 1 - adds r1, r3 - adds r1, r0 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080BDD3E - movs r4, 0 - ldr r5, _080BDE00 @ =gSaveBlock1Ptr - ldr r3, _080BDE0C @ =0x00002cac - ldr r2, _080BDE10 @ =gUnknown_83EDFF8 -_080BDD5E: - ldr r1, [r5] - lsls r0, r4, 1 - adds r1, r3 - adds r1, r0 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x5 - bls _080BDD5E - movs r4, 0 - ldr r0, _080BDE00 @ =gSaveBlock1Ptr - mov r12, r0 - ldr r7, _080BDE14 @ =0x00002cb8 - ldr r0, _080BDE18 @ =0x0000ffff - adds r5, r0, 0 - ldr r6, _080BDE1C @ =0x00002cc4 -_080BDD84: - mov r0, r12 - ldr r2, [r0] - lsls r3, r4, 1 - adds r1, r2, r7 - adds r1, r3 - ldrh r0, [r1] - orrs r0, r5 - strh r0, [r1] - adds r2, r6 - adds r2, r3 - ldrh r0, [r2] - orrs r0, r5 - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x5 - bls _080BDD84 - movs r4, 0 - ldr r7, _080BDE00 @ =gSaveBlock1Ptr - ldr r6, _080BDE20 @ =0x00002cd0 - ldr r0, _080BDE18 @ =0x0000ffff - adds r5, r0, 0 -_080BDDB2: - movs r2, 0 - lsls r0, r4, 3 - adds r0, r4 - lsls r3, r0, 2 -_080BDDBA: - ldr r1, [r7] - lsls r0, r2, 1 - adds r0, r3 - adds r1, r6 - adds r1, r0 - ldrh r0, [r1] - orrs r0, r5 - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x8 - bls _080BDDBA - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0xF - bls _080BDDB2 - movs r4, 0 - ldr r3, _080BDE00 @ =gSaveBlock1Ptr - ldr r2, _080BDE24 @ =0x00002f10 - movs r1, 0 -_080BDDE6: - ldr r0, [r3] - adds r0, r2 - adds r0, r4 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3F - bls _080BDDE6 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BDE00: .4byte gSaveBlock1Ptr -_080BDE04: .4byte 0x00002ca0 -_080BDE08: .4byte gUnknown_83EDFF0 -_080BDE0C: .4byte 0x00002cac -_080BDE10: .4byte gUnknown_83EDFF8 -_080BDE14: .4byte 0x00002cb8 -_080BDE18: .4byte 0x0000ffff -_080BDE1C: .4byte 0x00002cc4 -_080BDE20: .4byte 0x00002cd0 -_080BDE24: .4byte 0x00002f10 - thumb_func_end InitEasyChatPhrases - - thumb_func_start sub_80BDE28 -sub_80BDE28: @ 80BDE28 - push {lr} - bl sub_8143DA8 - ldr r1, _080BDE40 @ =0x0000ffff - adds r2, r1, 0 - adds r1, r0, 0x6 -_080BDE34: - strh r2, [r1] - subs r1, 0x2 - cmp r1, r0 - bge _080BDE34 - pop {r0} - bx r0 - .align 2, 0 -_080BDE40: .4byte 0x0000ffff - thumb_func_end sub_80BDE28 - - thumb_func_start sub_80BDE44 -sub_80BDE44: @ 80BDE44 - push {r4,lr} - ldr r4, _080BDE60 @ =gUnknown_20399BC - ldr r0, _080BDE64 @ =0x00003ba4 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _080BDE68 - bl sub_80BDE88 - bl sub_80BDFF8 - movs r0, 0x1 - b _080BDE6A - .align 2, 0 -_080BDE60: .4byte gUnknown_20399BC -_080BDE64: .4byte 0x00003ba4 -_080BDE68: - movs r0, 0 -_080BDE6A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80BDE44 - - thumb_func_start sub_80BDE70 -sub_80BDE70: @ 80BDE70 - push {lr} - ldr r0, _080BDE84 @ =gUnknown_20399BC - ldr r0, [r0] - cmp r0, 0 - beq _080BDE7E - bl Free -_080BDE7E: - pop {r0} - bx r0 - .align 2, 0 -_080BDE84: .4byte gUnknown_20399BC - thumb_func_end sub_80BDE70 - - thumb_func_start sub_80BDE88 -sub_80BDE88: @ 80BDE88 - push {r4,lr} - ldr r4, _080BDF30 @ =gUnknown_20399BC - ldr r1, [r4] - movs r0, 0 - strh r0, [r1] - bl GetNationalPokedexCount - lsls r0, 16 - cmp r0, 0 - beq _080BDEB0 - ldr r0, [r4] - ldrh r1, [r0] - adds r2, r1, 0x1 - strh r2, [r0] - lsls r1, 16 - lsrs r1, 15 - adds r0, 0x2 - adds r0, r1 - movs r1, 0x15 - strh r1, [r0] -_080BDEB0: - movs r3, 0x1 -_080BDEB2: - ldr r0, [r4] - ldrh r2, [r0] - adds r1, r2, 0x1 - strh r1, [r0] - lsls r2, 16 - lsrs r2, 15 - adds r0, 0x2 - adds r0, r2 - strh r3, [r0] - adds r3, 0x1 - cmp r3, 0x10 - ble _080BDEB2 - ldr r0, _080BDF34 @ =0x0000082c - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080BDF0C - ldr r0, _080BDF30 @ =gUnknown_20399BC - ldr r2, [r0] - ldrh r0, [r2] - adds r1, r0, 0x1 - strh r1, [r2] - lsls r0, 16 - lsrs r0, 15 - adds r3, r2, 0x2 - adds r0, r3, r0 - movs r1, 0x11 - strh r1, [r0] - ldrh r0, [r2] - adds r1, r0, 0x1 - strh r1, [r2] - lsls r0, 16 - lsrs r0, 15 - adds r0, r3, r0 - movs r1, 0x12 - strh r1, [r0] - ldrh r0, [r2] - adds r1, r0, 0x1 - strh r1, [r2] - lsls r0, 16 - lsrs r0, 15 - adds r3, r0 - movs r0, 0x13 - strh r0, [r3] -_080BDF0C: - bl IsNationalPokedexEnabled - cmp r0, 0 - beq _080BDF2A - ldr r0, _080BDF30 @ =gUnknown_20399BC - ldr r0, [r0] - ldrh r1, [r0] - adds r2, r1, 0x1 - strh r2, [r0] - lsls r1, 16 - lsrs r1, 15 - adds r0, 0x2 - adds r0, r1 - movs r1, 0 - strh r1, [r0] -_080BDF2A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BDF30: .4byte gUnknown_20399BC -_080BDF34: .4byte 0x0000082c - thumb_func_end sub_80BDE88 - - thumb_func_start sub_80BDF38 -sub_80BDF38: @ 80BDF38 - ldr r0, _080BDF40 @ =gUnknown_20399BC - ldr r0, [r0] - ldrb r0, [r0] - bx lr - .align 2, 0 -_080BDF40: .4byte gUnknown_20399BC - thumb_func_end sub_80BDF38 - - thumb_func_start sub_80BDF44 -sub_80BDF44: @ 80BDF44 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080BDF60 @ =gUnknown_20399BC - ldr r1, [r0] - ldrh r0, [r1] - cmp r2, r0 - bcs _080BDF64 - lsls r0, r2, 1 - adds r1, 0x2 - adds r1, r0 - ldrb r0, [r1] - b _080BDF66 - .align 2, 0 -_080BDF60: .4byte gUnknown_20399BC -_080BDF64: - movs r0, 0x16 -_080BDF66: - pop {r1} - bx r1 - thumb_func_end sub_80BDF44 - - thumb_func_start sub_80BDF6C -sub_80BDF6C: @ 80BDF6C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsls r2, 16 - lsrs r5, r2, 16 - ldr r0, _080BDFAC @ =gUnknown_83EDF98 - lsrs r1, 22 - adds r1, r0 - ldr r1, [r1] - adds r0, r4, 0 - bl StringCopy - adds r1, r0, 0 - subs r4, r1, r4 - lsls r4, 16 - lsrs r0, r4, 16 - cmp r0, r5 - bcs _080BDFA0 - movs r2, 0 -_080BDF92: - strb r2, [r1] - adds r1, 0x1 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r5 - bcc _080BDF92 -_080BDFA0: - movs r0, 0xFF - strb r0, [r1] - adds r0, r1, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080BDFAC: .4byte gUnknown_83EDF98 - thumb_func_end sub_80BDF6C - - thumb_func_start sub_80BDFB0 -sub_80BDFB0: @ 80BDFB0 - lsls r0, 24 - ldr r1, _080BDFBC @ =gUnknown_83EDF98 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_080BDFBC: .4byte gUnknown_83EDF98 - thumb_func_end sub_80BDFB0 - - thumb_func_start CopyEasyChatWordPadded -CopyEasyChatWordPadded: @ 80BDFC0 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - bl CopyEasyChatWord - adds r1, r0, 0 - subs r4, r1, r4 - lsls r4, 16 - lsrs r0, r4, 16 - cmp r0, r5 - bcs _080BDFEC - movs r2, 0 -_080BDFDE: - strb r2, [r1] - adds r1, 0x1 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r5 - bcc _080BDFDE -_080BDFEC: - movs r0, 0xFF - strb r0, [r1] - adds r0, r1, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end CopyEasyChatWordPadded - - thumb_func_start sub_80BDFF8 -sub_80BDFF8: @ 80BDFF8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r1, _080BE06C @ =gUnknown_300116C - movs r0, 0 - str r0, [r1] - mov r10, r0 -_080BE00A: - ldr r3, _080BE070 @ =gUnknown_83EDEC0 - ldr r2, [r1] - lsls r1, r2, 3 - adds r0, r3, 0x4 - adds r0, r1, r0 - ldr r4, [r0] - ldr r0, _080BE074 @ =gUnknown_300117C - str r4, [r0] - adds r1, r3 - ldr r0, [r1] - ldr r1, _080BE078 @ =gUnknown_3001184 - str r0, [r1] - ldr r0, _080BE07C @ =gUnknown_20399BC - ldr r0, [r0] - lsls r2, 1 - adds r0, 0x2E - adds r0, r2 - mov r2, r10 - strh r2, [r0] - ldr r5, _080BE080 @ =gUnknown_3001178 - mov r3, r10 - str r3, [r5] - ldr r0, _080BE084 @ =gUnknown_3001170 - str r3, [r0] - cmp r10, r4 - blt _080BE040 - b _080BE13C -_080BE040: - ldr r1, _080BE088 @ =gUnknown_3001180 - mov r9, r1 - adds r2, r0, 0 - mov r8, r2 -_080BE048: - ldr r3, _080BE078 @ =gUnknown_3001184 - ldr r2, [r3] - ldrh r0, [r2] - ldr r1, _080BE08C @ =0x0000ffff - cmp r0, r1 - bne _080BE0E4 - adds r1, r2, 0x2 - str r1, [r3] - ldrh r0, [r2, 0x2] - mov r2, r9 - str r0, [r2] - adds r1, 0x2 - str r1, [r3] - mov r3, r8 - ldr r0, [r3] - adds r0, 0x2 - str r0, [r3] - b _080BE0EA - .align 2, 0 -_080BE06C: .4byte gUnknown_300116C -_080BE070: .4byte gUnknown_83EDEC0 -_080BE074: .4byte gUnknown_300117C -_080BE078: .4byte gUnknown_3001184 -_080BE07C: .4byte gUnknown_20399BC -_080BE080: .4byte gUnknown_3001178 -_080BE084: .4byte gUnknown_3001170 -_080BE088: .4byte gUnknown_3001180 -_080BE08C: .4byte 0x0000ffff -_080BE090: - ldr r0, _080BE0D4 @ =gUnknown_20399BC - ldr r4, [r0] - ldr r0, _080BE0D8 @ =gUnknown_3001178 - ldr r5, [r0] - lsls r1, r5, 1 - ldr r0, _080BE0DC @ =gUnknown_300116C - ldr r3, [r0] - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 3 - subs r0, r3 - lsls r0, 2 - adds r1, r0 - adds r2, r4, 0 - adds r2, 0x64 - adds r2, r1 - ldr r0, [r6] - ldr r1, [r7] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - adds r5, 0x1 - ldr r1, _080BE0D8 @ =gUnknown_3001178 - str r5, [r1] - lsls r3, 1 - adds r4, 0x2E - adds r4, r3 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - ldr r4, _080BE0E0 @ =gUnknown_3001180 - b _080BE120 - .align 2, 0 -_080BE0D4: .4byte gUnknown_20399BC -_080BE0D8: .4byte gUnknown_3001178 -_080BE0DC: .4byte gUnknown_300116C -_080BE0E0: .4byte gUnknown_3001180 -_080BE0E4: - movs r0, 0x1 - mov r2, r9 - str r0, [r2] -_080BE0EA: - ldr r4, _080BE158 @ =gUnknown_3001180 - ldr r1, _080BE15C @ =gUnknown_3001174 - mov r3, r10 - str r3, [r1] - ldr r0, [r4] - cmp r10, r0 - bge _080BE120 - adds r6, r1, 0 - ldr r7, _080BE160 @ =gUnknown_3001184 - ldr r4, _080BE158 @ =gUnknown_3001180 -_080BE0FE: - ldr r0, [r6] - ldr r1, [r7] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_80BE440 - lsls r0, 24 - cmp r0, 0 - bne _080BE090 - ldr r1, [r6] - adds r1, 0x1 - str r1, [r6] - mov r2, r9 - ldr r0, [r2] - cmp r1, r0 - blt _080BE0FE -_080BE120: - ldr r2, [r4] - lsls r1, r2, 1 - ldr r3, _080BE160 @ =gUnknown_3001184 - ldr r0, [r3] - adds r0, r1 - str r0, [r3] - mov r0, r8 - ldr r1, [r0] - adds r1, r2 - str r1, [r0] - ldr r0, _080BE164 @ =gUnknown_300117C - ldr r0, [r0] - cmp r1, r0 - blt _080BE048 -_080BE13C: - ldr r1, _080BE168 @ =gUnknown_300116C - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x1A - bgt _080BE14A - b _080BE00A -_080BE14A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BE158: .4byte gUnknown_3001180 -_080BE15C: .4byte gUnknown_3001174 -_080BE160: .4byte gUnknown_3001184 -_080BE164: .4byte gUnknown_300117C -_080BE168: .4byte gUnknown_300116C - thumb_func_end sub_80BDFF8 - - thumb_func_start sub_80BE16C -sub_80BE16C: @ 80BE16C - push {lr} - lsls r1, 16 - lsrs r1, 16 - cmp r0, 0 - bne _080BE17E - adds r0, r1, 0 - bl sub_80BE1E8 - b _080BE184 -_080BE17E: - adds r0, r1, 0 - bl sub_80BE2F8 -_080BE184: - ldr r1, _080BE194 @ =gUnknown_20399BC - ldr r1, [r1] - ldr r2, _080BE198 @ =0x00003ba0 - adds r1, r2 - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080BE194: .4byte gUnknown_20399BC -_080BE198: .4byte 0x00003ba0 - thumb_func_end sub_80BE16C - - thumb_func_start sub_80BE19C -sub_80BE19C: @ 80BE19C - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _080BE1BC @ =gUnknown_20399BC - ldr r1, [r0] - ldr r3, _080BE1C0 @ =0x00003ba0 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r2, r0 - bcs _080BE1C8 - lsls r0, r2, 1 - ldr r2, _080BE1C4 @ =0x00003984 - adds r1, r2 - adds r1, r0 - ldrh r0, [r1] - b _080BE1CA - .align 2, 0 -_080BE1BC: .4byte gUnknown_20399BC -_080BE1C0: .4byte 0x00003ba0 -_080BE1C4: .4byte 0x00003984 -_080BE1C8: - ldr r0, _080BE1D0 @ =0x0000ffff -_080BE1CA: - pop {r1} - bx r1 - .align 2, 0 -_080BE1D0: .4byte 0x0000ffff - thumb_func_end sub_80BE19C - - thumb_func_start sub_80BE1D4 -sub_80BE1D4: @ 80BE1D4 - ldr r0, _080BE1E0 @ =gUnknown_20399BC - ldr r0, [r0] - ldr r1, _080BE1E4 @ =0x00003ba0 - adds r0, r1 - ldrh r0, [r0] - bx lr - .align 2, 0 -_080BE1E0: .4byte gUnknown_20399BC -_080BE1E4: .4byte 0x00003ba0 - thumb_func_end sub_80BE1D4 - - thumb_func_start sub_80BE1E8 -sub_80BE1E8: @ 80BE1E8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 16 - lsrs r2, r0, 16 - ldr r1, _080BE270 @ =gUnknown_83ECED4 - lsls r0, r2, 3 - adds r0, r1 - ldrh r7, [r0, 0x4] - cmp r2, 0 - beq _080BE20E - cmp r2, 0x15 - beq _080BE20E - cmp r2, 0x12 - beq _080BE20E - cmp r2, 0x13 - bne _080BE280 -_080BE20E: - lsls r0, r2, 3 - adds r0, r1 - ldr r0, [r0] - mov r10, r0 - movs r5, 0 - movs r6, 0 - cmp r6, r7 - bcs _080BE2DC - movs r0, 0x7F - ands r0, r2 - lsls r0, 9 - mov r9, r0 - lsls r2, 24 - mov r8, r2 -_080BE22A: - lsls r0, r5, 1 - mov r1, r10 - adds r4, r0, r1 - ldrh r0, [r4] - mov r2, r8 - lsrs r1, r2, 24 - bl sub_80BE3A4 - lsls r0, 24 - cmp r0, 0 - beq _080BE262 - ldr r0, _080BE274 @ =gUnknown_20399BC - ldr r2, [r0] - adds r1, r6, 0 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 1 - ldr r3, _080BE278 @ =0x00003984 - adds r2, r3 - adds r2, r1 - ldrh r0, [r4] - ldr r3, _080BE27C @ =0x000001ff - adds r1, r3, 0 - ands r0, r1 - mov r1, r9 - orrs r0, r1 - strh r0, [r2] -_080BE262: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r7 - bcc _080BE22A - b _080BE2DC - .align 2, 0 -_080BE270: .4byte gUnknown_83ECED4 -_080BE274: .4byte gUnknown_20399BC -_080BE278: .4byte 0x00003984 -_080BE27C: .4byte 0x000001ff -_080BE280: - ldr r0, [r0] - mov r10, r0 - movs r5, 0 - movs r6, 0 - cmp r6, r7 - bcs _080BE2DC - movs r0, 0x7F - ands r0, r2 - lsls r0, 9 - mov r9, r0 - lsls r2, 24 - mov r8, r2 -_080BE298: - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 2 - add r0, r10 - ldrh r4, [r0, 0x4] - adds r0, r4, 0 - mov r2, r8 - lsrs r1, r2, 24 - bl sub_80BE3A4 - lsls r0, 24 - cmp r0, 0 - beq _080BE2D2 - ldr r0, _080BE2EC @ =gUnknown_20399BC - ldr r2, [r0] - adds r1, r6, 0 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 1 - ldr r3, _080BE2F0 @ =0x00003984 - adds r2, r3 - adds r2, r1 - ldr r1, _080BE2F4 @ =0x000001ff - adds r0, r1, 0 - ands r4, r0 - mov r3, r9 - orrs r4, r3 - strh r4, [r2] -_080BE2D2: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r7 - bcc _080BE298 -_080BE2DC: - adds r0, r6, 0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080BE2EC: .4byte gUnknown_20399BC -_080BE2F0: .4byte 0x00003984 -_080BE2F4: .4byte 0x000001ff - thumb_func_end sub_80BE1E8 - - thumb_func_start sub_80BE2F8 -sub_80BE2F8: @ 80BE2F8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r1, r0, 16 - movs r4, 0 - movs r6, 0 - ldr r3, _080BE364 @ =gUnknown_20399BC - ldr r0, [r3] - lsls r5, r1, 1 - adds r0, 0x2E - adds r0, r5 - ldrh r0, [r0] - cmp r6, r0 - bcs _080BE358 - mov r8, r3 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 3 - subs r0, r1 - lsls r7, r0, 2 - ldr r0, _080BE368 @ =0x00003984 - mov r12, r0 -_080BE326: - mov r0, r8 - ldr r3, [r0] - adds r1, r6, 0 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 1 - mov r0, r12 - adds r2, r3, r0 - adds r2, r1 - lsls r1, r4, 1 - adds r1, r7 - adds r0, r3, 0 - adds r0, 0x64 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r3, 0x2E - adds r3, r5 - ldrh r3, [r3] - cmp r4, r3 - bcc _080BE326 -_080BE358: - adds r0, r6, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080BE364: .4byte gUnknown_20399BC -_080BE368: .4byte 0x00003984 - thumb_func_end sub_80BE2F8 - - thumb_func_start sub_80BE36C -sub_80BE36C: @ 80BE36C - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r2, 0 - ldr r0, _080BE390 @ =gUnknown_20399BC - ldr r0, [r0] - ldrh r1, [r0] - cmp r2, r1 - bge _080BE39C - adds r4, r3, 0 - adds r3, r1, 0 - adds r1, r0, 0x2 -_080BE384: - ldrh r0, [r1] - cmp r0, r4 - bne _080BE394 - movs r0, 0x1 - b _080BE39E - .align 2, 0 -_080BE390: .4byte gUnknown_20399BC -_080BE394: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, r3 - blt _080BE384 -_080BE39C: - movs r0, 0 -_080BE39E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80BE36C - - thumb_func_start sub_80BE3A4 -sub_80BE3A4: @ 80BE3A4 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 24 - lsrs r0, r1, 24 - cmp r0, 0x13 - bgt _080BE3BC - cmp r0, 0x12 - bge _080BE3F6 - cmp r0, 0 - beq _080BE3D6 - b _080BE3FA -_080BE3BC: - cmp r0, 0x15 - bne _080BE3FA - adds r0, r4, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl GetSetPokedexFlag - lsls r0, 24 - lsrs r0, 24 - b _080BE40C -_080BE3D6: - adds r0, r4, 0 - bl sub_80BE418 - cmp r0, 0 - beq _080BE3F6 - adds r0, r4, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl GetSetPokedexFlag - lsls r0, 24 - lsrs r0, 24 - b _080BE40C -_080BE3F6: - movs r0, 0x1 - b _080BE40C -_080BE3FA: - ldr r1, _080BE414 @ =gUnknown_83ECED4 - lsls r0, 3 - adds r0, r1 - ldr r1, [r0] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x8] -_080BE40C: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080BE414: .4byte gUnknown_83ECED4 - thumb_func_end sub_80BE3A4 - - thumb_func_start sub_80BE418 -sub_80BE418: @ 80BE418 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r1, _080BE42C @ =gUnknown_83EE004 -_080BE422: - ldrh r0, [r1] - cmp r0, r3 - bne _080BE430 - movs r0, 0x1 - b _080BE43A - .align 2, 0 -_080BE42C: .4byte gUnknown_83EE004 -_080BE430: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0 - beq _080BE422 - movs r0, 0 -_080BE43A: - pop {r1} - bx r1 - thumb_func_end sub_80BE418 - - thumb_func_start sub_80BE440 -sub_80BE440: @ 80BE440 - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 25 - lsls r0, 7 - lsrs r4, r0, 23 - adds r0, r5, 0 - bl sub_80BE36C - lsls r0, 24 - cmp r0, 0 - beq _080BE464 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80BE3A4 - lsls r0, 24 - lsrs r0, 24 - b _080BE466 -_080BE464: - movs r0, 0 -_080BE466: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80BE440 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/link_rfu.s b/asm/link_rfu.s index c6918f6ad..eac887f61 100644 --- a/asm/link_rfu.s +++ b/asm/link_rfu.s @@ -3443,7 +3443,7 @@ _080FEDC0: bl ResetPaletteFade b _080FEE16 _080FEDD4: - bl sub_80BDE44 + bl InitEasyChatSelection b _080FEDF2 _080FEDDA: ldrb r4, [r6, 0x2] @@ -3490,7 +3490,7 @@ _080FEE1E: sub_80FEE24: @ 80FEE24 push {r4,lr} adds r4, r0, 0 - bl sub_80BDE70 + bl DestroyEasyChatSelectionData bl sub_80FF010 bl sub_810011C bl FreeAllWindowBuffers @@ -3701,7 +3701,7 @@ _080FEFE0: ldrb r2, [r0, 0x7] adds r0, r6, 0 bl CpuSet - bl sub_80BDF38 + bl GetNumDisplayableGroups ldr r2, [r4] lsls r0, 24 lsrs r0, 24 @@ -4565,12 +4565,12 @@ sub_80FF5FC: @ 80FF5FC bl sub_80FFB8C lsls r0, 24 lsrs r0, 24 - bl sub_80BDF44 + bl GetSelectedGroupByIndex adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 movs r0, 0 - bl sub_80BE16C + bl GetUnlockedECWords b _080FF638 .align 2, 0 _080FF624: .4byte gUnknown_203ACE8 @@ -4580,9 +4580,9 @@ _080FF628: lsls r1, 16 lsrs r1, 16 movs r0, 0x1 - bl sub_80BE16C + bl GetUnlockedECWords _080FF638: - bl sub_80BE1D4 + bl GetNumDisplayedWords lsls r0, 16 lsrs r0, 16 cmp r0, 0 @@ -4673,7 +4673,7 @@ sub_80FF6C8: @ 80FF6C8 bl sub_80FFBE4 lsls r0, 16 lsrs r0, 16 - bl sub_80BE19C + bl GetDisplayedWordByIndex lsls r0, 16 lsrs r0, 16 bl sub_80FF768 @@ -5506,7 +5506,7 @@ sub_80FFC6C: @ 80FFC6C bne _080FFC9C bl sub_80FFB8C adds r4, r0, 0 - bl sub_80BDF38 + bl GetNumDisplayableGroups movs r1, 0 lsls r0, 24 lsls r4, 16 @@ -5546,7 +5546,7 @@ sub_80FFCC0: @ 80FFCC0 push {r4,lr} bl sub_80FFBE4 adds r4, r0, 0 - bl sub_80BE1D4 + bl GetNumDisplayedWords movs r1, 0 lsls r4, 16 lsls r0, 16 @@ -8492,12 +8492,12 @@ _0810134A: lsls r0, r5, 24 lsrs r0, 24 adds r5, 0x1 - bl sub_80BDF44 + bl GetSelectedGroupByIndex lsls r0, 24 lsrs r0, 24 cmp r0, 0x16 beq _0810138A - bl sub_80BDFB0 + bl GetEasyChatWordGroupName adds r2, r0, 0 movs r0, 0x54 adds r3, r4, 0 @@ -8708,7 +8708,7 @@ _081014E6: lsls r0, r4, 16 lsrs r0, 16 adds r4, 0x1 - bl sub_80BE19C + bl GetDisplayedWordByIndex lsls r0, 16 lsrs r1, r0, 16 ldr r0, _08101554 @ =0x0000ffff diff --git a/asm/mon_markings.s b/asm/mon_markings.s index 5408a70be..a0dad2280 100644 --- a/asm/mon_markings.s +++ b/asm/mon_markings.s @@ -981,4 +981,10 @@ sub_80BEBD0: @ 80BEBD0 _080BEBE8: .4byte gUnknown_83EE028 thumb_func_end sub_80BEBD0 + .section ewram_data + .align 2, 0 +gUnknown_20399C0: + .4byte 0 + + .text .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_size_record.s b/asm/pokemon_size_record.s deleted file mode 100644 index e14bdc51d..000000000 --- a/asm/pokemon_size_record.s +++ /dev/null @@ -1,482 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start GetMonSizeHash -GetMonSizeHash: @ 80A069C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r5, r0, 0 - movs r1, 0 - bl GetMonData - lsls r0, 16 - str r0, [sp, 0x4] - lsrs r0, 16 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0x27 - bl GetMonData - adds r7, r0, 0 - movs r6, 0xF - ands r7, r6 - adds r0, r5, 0 - movs r1, 0x28 - bl GetMonData - mov r8, r0 - mov r1, r8 - ands r1, r6 - mov r8, r1 - adds r0, r5, 0 - movs r1, 0x29 - bl GetMonData - mov r9, r0 - mov r3, r9 - ands r3, r6 - mov r9, r3 - adds r0, r5, 0 - movs r1, 0x2A - bl GetMonData - mov r10, r0 - ands r0, r6 - mov r10, r0 - adds r0, r5, 0 - movs r1, 0x2B - bl GetMonData - adds r4, r0, 0 - ands r4, r6 - adds r0, r5, 0 - movs r1, 0x2C - bl GetMonData - adds r2, r0, 0 - ands r2, r6 - mov r1, r8 - mov r3, r9 - eors r1, r3 - mov r8, r1 - mov r0, r8 - muls r0, r7 - movs r1, 0xFF - ldr r3, [sp] - ands r3, r1 - eors r0, r3 - eors r4, r2 - mov r1, r10 - muls r1, r4 - ldr r3, [sp, 0x4] - lsrs r2, r3, 24 - eors r1, r2 - lsls r0, 8 - adds r0, r1 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetMonSizeHash - - thumb_func_start TranslateBigMonSizeTableIndex -TranslateBigMonSizeTableIndex: @ 80A0740 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0x1 - ldr r3, _080A075C @ =gUnknown_83E272C -_080A074A: - lsls r0, r1, 3 - adds r0, r3 - ldrh r0, [r0, 0x4] - cmp r2, r0 - bcs _080A0760 - subs r0, r1, 0x1 - lsls r0, 24 - lsrs r0, 24 - b _080A076C - .align 2, 0 -_080A075C: .4byte gUnknown_83E272C -_080A0760: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xE - bls _080A074A - adds r0, r1, 0 -_080A076C: - pop {r1} - bx r1 - thumb_func_end TranslateBigMonSizeTableIndex - - thumb_func_start GetMonSize -GetMonSize: @ 80A0770 - push {r4-r7,lr} - sub sp, 0x8 - adds r6, r1, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r6, 16 - lsrs r6, 16 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl GetPokedexHeightWeight - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r6, 0 - bl TranslateBigMonSizeTableIndex - lsls r0, 24 - ldr r1, _080A07E0 @ =gUnknown_83E272C - lsrs r0, 21 - adds r0, r1 - ldrh r1, [r0] - str r1, [sp] - movs r2, 0 - str r2, [sp, 0x4] - ldrb r2, [r0, 0x2] - movs r3, 0 - ldrh r4, [r0, 0x4] - movs r5, 0 - adds r0, r6, 0 - movs r1, 0 - subs r0, r4 - sbcs r1, r5 - bl __udivdi3 - ldr r2, [sp] - ldr r3, [sp, 0x4] - adds r2, r0 - adcs r3, r1 - str r2, [sp] - str r3, [sp, 0x4] - adds r0, r7, 0 - movs r1, 0 - bl __muldi3 - movs r2, 0xA - movs r3, 0 - bl __udivdi3 - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080A07E0: .4byte gUnknown_83E272C - thumb_func_end GetMonSize - - thumb_func_start sub_80A07E4 -sub_80A07E4: @ 80A07E4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x64 - muls r0, r1 - movs r1, 0xFE - bl __udivsi3 - adds r5, r0, 0 - movs r1, 0xA - bl __udivsi3 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x8 - bl ConvertIntToDecimalStringN - ldr r1, _080A0828 @ =gUnknown_8417FB9 - bl StringAppend - adds r4, r0, 0 - adds r0, r5, 0 - movs r1, 0xA - bl __umodsi3 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A0828: .4byte gUnknown_8417FB9 - thumb_func_end sub_80A07E4 - - thumb_func_start sub_80A082C -sub_80A082C: @ 80A082C - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r1, 0 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r1, _080A0844 @ =gSpecialVar_Result - ldrh r0, [r1] - cmp r0, 0x5 - bls _080A0848 - movs r0, 0 - b _080A08C4 - .align 2, 0 -_080A0844: .4byte gSpecialVar_Result -_080A0848: - ldrh r1, [r1] - movs r0, 0x64 - muls r1, r0 - ldr r0, _080A0870 @ =gPlayerParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0x1 - beq _080A086A - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - cmp r0, r6 - beq _080A0874 -_080A086A: - movs r0, 0x1 - b _080A08C4 - .align 2, 0 -_080A0870: .4byte gPlayerParty -_080A0874: - mov r4, sp - adds r0, r5, 0 - bl GetMonSizeHash - strh r0, [r4] - mov r0, sp - ldrh r1, [r0] - adds r0, r6, 0 - bl GetMonSize - adds r5, r0, 0 - ldrh r1, [r7] - adds r0, r6, 0 - bl GetMonSize - adds r4, r0, 0 - ldr r0, _080A08AC @ =gStringVar3 - adds r1, r4, 0 - bl sub_80A07E4 - ldr r0, _080A08B0 @ =gStringVar2 - adds r1, r5, 0 - bl sub_80A07E4 - cmp r5, r4 - bne _080A08B4 - movs r0, 0x4 - b _080A08C4 - .align 2, 0 -_080A08AC: .4byte gStringVar3 -_080A08B0: .4byte gStringVar2 -_080A08B4: - cmp r5, r4 - bcc _080A08C2 - mov r0, sp - ldrh r0, [r0] - strh r0, [r7] - movs r0, 0x3 - b _080A08C4 -_080A08C2: - movs r0, 0x2 -_080A08C4: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A082C - - thumb_func_start sub_80A08CC -sub_80A08CC: @ 80A08CC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrh r1, [r1] - adds r0, r4, 0 - bl GetMonSize - adds r1, r0, 0 - ldr r0, _080A08F8 @ =gStringVar3 - bl sub_80A07E4 - ldr r0, _080A08FC @ =gStringVar1 - movs r1, 0xB - muls r1, r4 - ldr r2, _080A0900 @ =gSpeciesNames - adds r1, r2 - bl StringCopy - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A08F8: .4byte gStringVar3 -_080A08FC: .4byte gStringVar1 -_080A0900: .4byte gSpeciesNames - thumb_func_end sub_80A08CC - - thumb_func_start sub_80A0904 -sub_80A0904: @ 80A0904 - push {lr} - ldr r0, _080A0914 @ =0x0000403d - movs r1, 0 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_080A0914: .4byte 0x0000403d - thumb_func_end sub_80A0904 - - thumb_func_start GetHeracrossSizeRecordInfo -GetHeracrossSizeRecordInfo: @ 80A0918 - push {lr} - ldr r0, _080A092C @ =0x0000403d - bl GetVarPointer - adds r1, r0, 0 - movs r0, 0xD6 - bl sub_80A08CC - pop {r0} - bx r0 - .align 2, 0 -_080A092C: .4byte 0x0000403d - thumb_func_end GetHeracrossSizeRecordInfo - - thumb_func_start CompareHeracrossSize -CompareHeracrossSize: @ 80A0930 - push {r4,lr} - ldr r0, _080A0950 @ =0x0000403d - bl GetVarPointer - adds r1, r0, 0 - ldr r4, _080A0954 @ =gSpecialVar_Result - movs r0, 0xD6 - bl sub_80A082C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A0950: .4byte 0x0000403d -_080A0954: .4byte gSpecialVar_Result - thumb_func_end CompareHeracrossSize - - thumb_func_start sub_80A0958 -sub_80A0958: @ 80A0958 - push {lr} - ldr r0, _080A0968 @ =0x00004040 - movs r1, 0 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_080A0968: .4byte 0x00004040 - thumb_func_end sub_80A0958 - - thumb_func_start GetMagikarpSizeRecordInfo -GetMagikarpSizeRecordInfo: @ 80A096C - push {lr} - ldr r0, _080A0980 @ =0x00004040 - bl GetVarPointer - adds r1, r0, 0 - movs r0, 0x81 - bl sub_80A08CC - pop {r0} - bx r0 - .align 2, 0 -_080A0980: .4byte 0x00004040 - thumb_func_end GetMagikarpSizeRecordInfo - - thumb_func_start CompareMagikarpSize -CompareMagikarpSize: @ 80A0984 - push {r4,lr} - ldr r0, _080A09A4 @ =0x00004040 - bl GetVarPointer - adds r1, r0, 0 - ldr r4, _080A09A8 @ =gSpecialVar_Result - movs r0, 0x81 - bl sub_80A082C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A09A4: .4byte 0x00004040 -_080A09A8: .4byte gSpecialVar_Result - thumb_func_end CompareMagikarpSize - - thumb_func_start GiveGiftRibbonToParty -GiveGiftRibbonToParty: @ 80A09AC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - movs r7, 0 - add r4, sp, 0x8 - movs r0, 0x1 - strb r0, [r4] - ldr r1, _080A0A34 @ =gUnknown_83E27AC - mov r0, sp - movs r2, 0x7 - bl memcpy - mov r8, r4 - cmp r6, 0xA - bhi _080A0A28 - cmp r5, 0x40 - bhi _080A0A28 - ldr r0, _080A0A38 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _080A0A3C @ =0x0000309c - adds r0, r1 - adds r0, r6 - strb r5, [r0] - movs r5, 0 -_080A09E6: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _080A0A40 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _080A0A18 - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _080A0A18 - mov r1, sp - adds r0, r1, r6 - ldrb r1, [r0] - adds r0, r4, 0 - mov r2, r8 - bl SetMonData - movs r7, 0x1 -_080A0A18: - adds r5, 0x1 - cmp r5, 0x5 - ble _080A09E6 - cmp r7, 0 - beq _080A0A28 - ldr r0, _080A0A44 @ =0x0000083b - bl FlagSet -_080A0A28: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A0A34: .4byte gUnknown_83E27AC -_080A0A38: .4byte gSaveBlock1Ptr -_080A0A3C: .4byte 0x0000309c -_080A0A40: .4byte gPlayerParty -_080A0A44: .4byte 0x0000083b - thumb_func_end GiveGiftRibbonToParty - - .align 2, 0 @ Don't pad with nop. |