diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/berry_crush_2.s | 8 | ||||
-rw-r--r-- | asm/decompress.s | 6 | ||||
-rw-r--r-- | asm/dodrio_berry_picking_2.s | 734 | ||||
-rw-r--r-- | asm/ereader_helpers.s (renamed from asm/unk_815C27C.s) | 0 | ||||
-rw-r--r-- | asm/link.s | 30 | ||||
-rw-r--r-- | asm/link_rfu_2.s | 52 | ||||
-rw-r--r-- | asm/link_rfu_3.s | 8 | ||||
-rw-r--r-- | asm/pokemon_jump.s | 4 | ||||
-rw-r--r-- | asm/pokemon_jump_2.s | 16 | ||||
-rw-r--r-- | asm/unk_8159F40.s | 1623 | ||||
-rw-r--r-- | asm/unk_815C980.s | 1314 |
11 files changed, 796 insertions, 2999 deletions
diff --git a/asm/berry_crush_2.s b/asm/berry_crush_2.s index 7477bbf9c..16f7bff79 100644 --- a/asm/berry_crush_2.s +++ b/asm/berry_crush_2.s @@ -1046,7 +1046,7 @@ sub_814C2FC: @ 814C2FC mov r10, r3 _0814C320: lsls r0, r7, 4 - ldr r1, _0814C3C4 @ =gUnknown_3003ED0 + ldr r1, _0814C3C4 @ =gRecvCmds adds r2, r0, r1 ldrh r1, [r2] movs r0, 0xFF @@ -1127,7 +1127,7 @@ _0814C320: b _0814C3D6 .align 2, 0 _0814C3C0: .4byte gUnknown_846E2E0 -_0814C3C4: .4byte gUnknown_3003ED0 +_0814C3C4: .4byte gRecvCmds _0814C3C8: adds r0, r4, r6 adds r2, r0, 0 @@ -1671,7 +1671,7 @@ sub_814C7BC: @ 814C7BC push {r4,r5,lr} adds r5, r0, 0 movs r4, 0 - ldr r3, _0814C808 @ =gUnknown_3003ED0 + ldr r3, _0814C808 @ =gRecvCmds ldrb r0, [r5, 0x9] cmp r4, r0 bcs _0814C7E0 @@ -1710,7 +1710,7 @@ _0814C7F8: strb r0, [r2] b _0814C84A .align 2, 0 -_0814C808: .4byte gUnknown_3003ED0 +_0814C808: .4byte gRecvCmds _0814C80C: adds r4, r5, 0 adds r4, 0x4E diff --git a/asm/decompress.s b/asm/decompress.s index 175304245..cc38e0df5 100644 --- a/asm/decompress.s +++ b/asm/decompress.s @@ -722,8 +722,8 @@ _0800F0BA: bx r1 thumb_func_end sub_800F078 - thumb_func_start sub_800F0C4 -sub_800F0C4: @ 800F0C4 + thumb_func_start GetDecompressedDataSize +GetDecompressedDataSize: @ 800F0C4 sub sp, 0x4 mov r3, sp ldrb r2, [r0, 0x1] @@ -738,7 +738,7 @@ sub_800F0C4: @ 800F0C4 ldr r0, [sp] add sp, 0x4 bx lr - thumb_func_end sub_800F0C4 + thumb_func_end GetDecompressedDataSize thumb_func_start DecompressPicFromTable_DontHandleDeoxys DecompressPicFromTable_DontHandleDeoxys: @ 800F0E0 diff --git a/asm/dodrio_berry_picking_2.s b/asm/dodrio_berry_picking_2.s new file mode 100644 index 000000000..792dc4b0f --- /dev/null +++ b/asm/dodrio_berry_picking_2.s @@ -0,0 +1,734 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_815A61C +sub_815A61C: @ 815A61C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x20 + ldr r4, [sp, 0x48] + lsls r4, 24 + str r4, [sp, 0x1C] + movs r4, 0x14 + adds r4, r0 + mov r9, r4 + mov r5, sp + movs r4, 0x2 + strb r4, [r5] + mov r10, sp + mov r5, r9 + ldrb r4, [r5, 0xB] + movs r7, 0xF + adds r5, r7, 0 + ands r5, r4 + mov r6, r10 + ldrb r6, [r6, 0x1] + mov r8, r6 + movs r4, 0x10 + negs r4, r4 + mov r6, r8 + ands r4, r6 + orrs r4, r5 + mov r5, r10 + strb r4, [r5, 0x1] + mov r8, sp + mov r6, r9 + ldrb r5, [r6, 0xC] + lsls r5, 4 + ands r4, r7 + orrs r4, r5 + mov r5, r8 + strb r4, [r5, 0x1] + ldrb r5, [r6, 0xD] + movs r6, 0xF + ands r5, r6 + mov r4, r10 + ldrb r4, [r4, 0x2] + mov r8, r4 + movs r4, 0x10 + negs r4, r4 + mov r6, r8 + ands r4, r6 + orrs r4, r5 + mov r5, r10 + strb r4, [r5, 0x2] + mov r8, sp + mov r6, r9 + ldrb r5, [r6, 0xE] + lsls r5, 4 + ands r4, r7 + orrs r4, r5 + mov r5, r8 + strb r4, [r5, 0x2] + ldrb r5, [r6, 0xF] + movs r6, 0xF + ands r5, r6 + mov r4, r10 + ldrb r4, [r4, 0x3] + mov r8, r4 + movs r4, 0x10 + negs r4, r4 + mov r6, r8 + ands r4, r6 + orrs r4, r5 + mov r5, r10 + strb r4, [r5, 0x3] + mov r8, sp + mov r6, r9 + ldrb r5, [r6, 0x10] + lsls r5, 4 + ands r4, r7 + orrs r4, r5 + mov r5, r8 + strb r4, [r5, 0x3] + ldrb r5, [r6, 0x11] + movs r6, 0xF + ands r5, r6 + mov r4, r10 + ldrb r4, [r4, 0x4] + mov r8, r4 + movs r4, 0x10 + negs r4, r4 + mov r6, r8 + ands r4, r6 + orrs r4, r5 + mov r5, r10 + strb r4, [r5, 0x4] + mov r8, sp + mov r6, r9 + ldrb r5, [r6, 0x12] + lsls r5, 4 + ands r4, r7 + orrs r4, r5 + mov r5, r8 + strb r4, [r5, 0x4] + ldrb r4, [r6, 0x13] + movs r6, 0xF + ands r4, r6 + mov r6, r8 + ldrb r5, [r6, 0x5] + movs r6, 0x10 + negs r6, r6 + ands r6, r5 + orrs r6, r4 + str r6, [sp, 0xC] + mov r4, r8 + strb r6, [r4, 0x5] + mov r5, sp + mov r6, r9 + ldrb r4, [r6, 0x14] + lsls r4, 4 + ldr r6, [sp, 0xC] + ands r6, r7 + orrs r6, r4 + strb r6, [r5, 0x5] + mov r7, sp + movs r4, 0x3 + mov r8, r4 + ldrb r0, [r0, 0x14] + mov r5, r8 + ands r0, r5 + ldrb r5, [r7, 0x6] + movs r6, 0x4 + negs r6, r6 + mov r10, r6 + mov r4, r10 + ands r4, r5 + orrs r4, r0 + strb r4, [r7, 0x6] + mov r5, r9 + ldrb r0, [r5, 0x1] + mov r6, r8 + ands r0, r6 + lsls r0, 2 + movs r5, 0xD + negs r5, r5 + ands r5, r4 + orrs r5, r0 + strb r5, [r7, 0x6] + mov r0, r9 + ldrb r4, [r0, 0x2] + ands r4, r6 + lsls r4, 4 + movs r0, 0x31 + negs r0, r0 + ands r0, r5 + orrs r0, r4 + strb r0, [r7, 0x6] + mov r5, sp + mov r6, r9 + ldrb r4, [r6, 0x3] + lsls r4, 6 + movs r6, 0x3F + ands r0, r6 + orrs r0, r4 + strb r0, [r5, 0x6] + mov r4, r9 + ldrb r0, [r4, 0x4] + mov r5, r8 + ands r0, r5 + ldrb r5, [r7, 0x7] + mov r4, r10 + ands r4, r5 + orrs r4, r0 + strb r4, [r7, 0x7] + mov r6, r9 + ldrb r0, [r6, 0x5] + mov r5, r8 + ands r0, r5 + lsls r0, 2 + movs r5, 0xD + negs r5, r5 + ands r5, r4 + orrs r5, r0 + strb r5, [r7, 0x7] + ldrb r4, [r6, 0x6] + mov r6, r8 + ands r4, r6 + lsls r4, 4 + movs r0, 0x31 + negs r0, r0 + ands r0, r5 + orrs r0, r4 + strb r0, [r7, 0x7] + mov r5, sp + mov r6, r9 + ldrb r4, [r6, 0x7] + lsls r4, 6 + movs r6, 0x3F + ands r0, r6 + orrs r0, r4 + strb r0, [r5, 0x7] + mov r8, sp + mov r0, r9 + ldrb r4, [r0, 0x8] + movs r7, 0x3 + adds r0, r7, 0 + ands r0, r4 + mov r4, r8 + ldrb r5, [r4, 0x8] + mov r4, r10 + ands r4, r5 + orrs r4, r0 + mov r5, r8 + strb r4, [r5, 0x8] + mov r6, r9 + ldrb r5, [r6, 0x9] + adds r0, r7, 0 + ands r0, r5 + lsls r0, 2 + movs r5, 0xD + negs r5, r5 + ands r5, r4 + orrs r5, r0 + mov r0, r8 + strb r5, [r0, 0x8] + ldrb r0, [r1] + adds r4, r7, 0 + ands r4, r0 + lsls r4, 4 + movs r0, 0x31 + negs r0, r0 + ands r0, r5 + orrs r0, r4 + mov r4, r8 + strb r0, [r4, 0x8] + mov r5, sp + ldrb r4, [r2] + lsls r4, 6 + movs r6, 0x3F + ands r0, r6 + orrs r0, r4 + strb r0, [r5, 0x8] + ldrb r4, [r3] + adds r0, r7, 0 + ands r0, r4 + ldrb r4, [r5, 0x9] + mov r6, r10 + ands r6, r4 + orrs r6, r0 + mov r10, r6 + strb r6, [r5, 0x9] + ldr r0, [sp, 0x40] + ldrb r4, [r0] + adds r0, r7, 0 + ands r0, r4 + lsls r0, 2 + movs r4, 0xD + negs r4, r4 + ands r6, r4 + orrs r6, r0 + str r6, [sp, 0x10] + strb r6, [r5, 0x9] + mov r4, sp + ldr r5, [sp, 0x44] + ldrb r0, [r5] + adds r6, r7, 0 + ands r6, r0 + lsls r0, r6, 4 + subs r7, 0x34 + ldr r5, [sp, 0x10] + ands r7, r5 + orrs r7, r0 + strb r7, [r4, 0x9] + mov r5, sp + ldrb r0, [r1, 0x4] + movs r6, 0x1 + mov r12, r6 + mov r4, r12 + ands r4, r0 + lsls r4, 6 + movs r0, 0x41 + negs r0, r0 + mov r10, r0 + ands r0, r7 + orrs r0, r4 + strb r0, [r5, 0x9] + ldrb r4, [r2, 0x4] + lsls r4, 7 + movs r5, 0x7F + ands r0, r5 + orrs r0, r4 + mov r4, r8 + strb r0, [r4, 0x9] + ldrb r4, [r3, 0x4] + mov r0, r12 + ands r0, r4 + mov r5, r8 + ldrb r4, [r5, 0xA] + movs r7, 0x2 + negs r7, r7 + adds r5, r7, 0 + ands r5, r4 + orrs r5, r0 + mov r6, r8 + strb r5, [r6, 0xA] + mov r9, sp + ldr r4, [sp, 0x40] + ldrb r0, [r4, 0x4] + mov r4, r12 + ands r4, r0 + lsls r4, 1 + movs r6, 0x3 + negs r6, r6 + mov r8, r6 + mov r0, r8 + ands r0, r5 + orrs r0, r4 + mov r4, r9 + strb r0, [r4, 0xA] + ldr r6, [sp, 0x44] + ldrb r5, [r6, 0x4] + mov r4, r12 + ands r4, r5 + lsls r4, 2 + movs r5, 0x5 + negs r5, r5 + ands r0, r5 + orrs r0, r4 + mov r4, r9 + strb r0, [r4, 0xA] + mov r4, sp + ldrb r1, [r1, 0x8] + mov r0, r12 + ands r0, r1 + lsls r0, 2 + ldrb r1, [r4, 0xB] + ands r5, r1 + orrs r5, r0 + strb r5, [r4, 0xB] + ldrb r1, [r2, 0x8] + mov r0, r12 + ands r0, r1 + lsls r0, 3 + movs r1, 0x9 + negs r1, r1 + ands r1, r5 + orrs r1, r0 + strb r1, [r4, 0xB] + ldrb r2, [r3, 0x8] + mov r0, r12 + ands r0, r2 + lsls r0, 4 + movs r2, 0x11 + negs r2, r2 + ands r2, r1 + orrs r2, r0 + strb r2, [r4, 0xB] + mov r3, sp + ldr r5, [sp, 0x40] + ldrb r0, [r5, 0x8] + mov r1, r12 + ands r1, r0 + lsls r1, 5 + movs r0, 0x21 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3, 0xB] + mov r2, sp + ldrb r1, [r6, 0x8] + mov r6, r12 + ands r6, r1 + lsls r1, r6, 6 + mov r3, r10 + ands r0, r3 + orrs r0, r1 + strb r0, [r2, 0xB] + ldr r4, [sp, 0x1C] + lsrs r3, r4, 21 + ldrb r1, [r2, 0xA] + movs r0, 0x7 + ands r0, r1 + orrs r0, r3 + strb r0, [r2, 0xA] + mov r1, sp + ldr r5, [sp, 0x4C] + movs r6, 0x1 + ands r5, r6 + lsls r2, r5, 1 + ldrb r0, [r1, 0xB] + mov r3, r8 + ands r3, r0 + orrs r3, r2 + mov r8, r3 + strb r3, [r1, 0xB] + mov r0, sp + ldr r4, [sp, 0x50] + ands r4, r6 + mov r5, r8 + ands r5, r7 + orrs r5, r4 + strb r5, [r0, 0xB] + bl sub_80F9E2C + add sp, 0x20 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_815A61C + + thumb_func_start sub_815A950 +sub_815A950: @ 815A950 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r7, r1, 0 + adds r5, r2, 0 + adds r6, r3, 0 + ldr r0, [sp, 0x1C] + mov r12, r0 + ldr r1, [sp, 0x20] + mov r8, r1 + ldr r0, [sp, 0x24] + mov r9, r0 + adds r2, r7, 0 + adds r2, 0x14 + ldr r4, _0815A98C @ =gRecvCmds + ldrh r0, [r4] + movs r1, 0xFF + lsls r1, 8 + ands r1, r0 + movs r0, 0xBC + lsls r0, 6 + cmp r1, r0 + bne _0815A988 + adds r3, r4, 0x2 + ldrb r0, [r4, 0x2] + cmp r0, 0x2 + beq _0815A990 +_0815A988: + movs r0, 0 + b _0815AACA + .align 2, 0 +_0815A98C: .4byte gRecvCmds +_0815A990: + ldrb r0, [r3, 0x1] + lsls r0, 28 + lsrs r0, 28 + strb r0, [r2, 0xB] + ldrb r0, [r3, 0x1] + lsrs r0, 4 + strb r0, [r2, 0xC] + ldrb r0, [r3, 0x2] + lsls r0, 28 + lsrs r0, 28 + strb r0, [r2, 0xD] + ldrb r0, [r3, 0x2] + lsrs r0, 4 + strb r0, [r2, 0xE] + ldrb r0, [r3, 0x3] + lsls r0, 28 + lsrs r0, 28 + strb r0, [r2, 0xF] + ldrb r0, [r3, 0x3] + lsrs r0, 4 + strb r0, [r2, 0x10] + ldrb r0, [r3, 0x4] + lsls r0, 28 + lsrs r0, 28 + strb r0, [r2, 0x11] + ldrb r0, [r3, 0x4] + lsrs r0, 4 + strb r0, [r2, 0x12] + ldrb r0, [r3, 0x5] + lsls r0, 28 + lsrs r0, 28 + strb r0, [r2, 0x13] + ldrb r0, [r3, 0x5] + lsrs r0, 4 + strb r0, [r2, 0x14] + ldrb r0, [r3, 0x1] + lsls r0, 28 + lsrs r0, 28 + strb r0, [r2, 0x15] + ldrb r0, [r3, 0x6] + lsls r0, 30 + lsrs r0, 30 + strb r0, [r7, 0x14] + ldrb r0, [r3, 0x6] + lsls r0, 28 + lsrs r0, 30 + strb r0, [r2, 0x1] + ldrb r0, [r3, 0x6] + lsls r0, 26 + lsrs r0, 30 + strb r0, [r2, 0x2] + ldrb r0, [r3, 0x6] + lsrs r0, 6 + strb r0, [r2, 0x3] + ldrb r0, [r3, 0x7] + lsls r0, 30 + lsrs r0, 30 + strb r0, [r2, 0x4] + ldrb r0, [r3, 0x7] + lsls r0, 28 + lsrs r0, 30 + strb r0, [r2, 0x5] + ldrb r0, [r3, 0x7] + lsls r0, 26 + lsrs r0, 30 + strb r0, [r2, 0x6] + ldrb r0, [r3, 0x7] + lsrs r0, 6 + strb r0, [r2, 0x7] + ldrb r0, [r3, 0x8] + lsls r0, 30 + lsrs r0, 30 + strb r0, [r2, 0x8] + ldrb r0, [r3, 0x8] + lsls r0, 28 + lsrs r0, 30 + strb r0, [r2, 0x9] + ldrb r0, [r3, 0x6] + lsls r0, 30 + lsrs r0, 30 + strb r0, [r2, 0xA] + ldrb r0, [r3, 0x8] + lsls r0, 26 + lsrs r0, 30 + strb r0, [r5] + ldrb r0, [r3, 0x9] + lsls r0, 25 + lsrs r0, 31 + strb r0, [r5, 0x4] + ldrb r0, [r3, 0xB] + lsls r0, 29 + lsrs r0, 31 + strb r0, [r5, 0x8] + ldrb r0, [r3, 0x8] + lsrs r0, 6 + strb r0, [r6] + ldrb r0, [r3, 0x9] + lsrs r0, 7 + strb r0, [r6, 0x4] + ldrb r0, [r3, 0xB] + lsls r0, 28 + lsrs r0, 31 + strb r0, [r6, 0x8] + ldrb r0, [r3, 0x9] + lsls r0, 30 + lsrs r0, 30 + mov r1, r12 + strb r0, [r1] + ldrb r0, [r3, 0xA] + lsls r0, 31 + lsrs r0, 31 + strb r0, [r1, 0x4] + ldrb r0, [r3, 0xB] + lsls r0, 27 + lsrs r0, 31 + strb r0, [r1, 0x8] + ldrb r0, [r3, 0x9] + lsls r0, 28 + lsrs r0, 30 + mov r1, r8 + strb r0, [r1] + ldrb r0, [r3, 0xA] + lsls r0, 30 + lsrs r0, 31 + strb r0, [r1, 0x4] + ldrb r0, [r3, 0xB] + lsls r0, 26 + lsrs r0, 31 + strb r0, [r1, 0x8] + ldrb r0, [r3, 0x9] + lsls r0, 26 + lsrs r0, 30 + mov r1, r9 + strb r0, [r1] + ldrb r0, [r3, 0xA] + lsls r0, 29 + lsrs r0, 31 + strb r0, [r1, 0x4] + ldrb r0, [r3, 0xB] + lsls r0, 25 + lsrs r0, 31 + strb r0, [r1, 0x8] + ldrb r0, [r3, 0xA] + lsrs r0, 3 + ldr r1, [sp, 0x28] + strb r0, [r1] + ldrb r0, [r3, 0xB] + lsls r0, 30 + lsrs r0, 31 + ldr r1, [sp, 0x2C] + str r0, [r1] + ldrb r0, [r3, 0xB] + lsls r0, 31 + lsrs r0, 31 + ldr r1, [sp, 0x30] + str r0, [r1] + movs r0, 0x1 +_0815AACA: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_815A950 + + thumb_func_start sub_815AAD8 +sub_815AAD8: @ 815AAD8 + push {lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r0, 24 + ldr r3, _0815AB00 @ =0xffffff00 + ldr r1, [sp] + ands r1, r3 + movs r2, 0x3 + orrs r1, r2 + str r1, [sp] + ldr r1, [sp, 0x4] + ands r1, r3 + orrs r1, r0 + str r1, [sp, 0x4] + mov r0, sp + bl sub_80F9E2C + add sp, 0x8 + pop {r0} + bx r0 + .align 2, 0 +_0815AB00: .4byte 0xffffff00 + thumb_func_end sub_815AAD8 + + thumb_func_start sub_815AB04 +sub_815AB04: @ 815AB04 + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + ldr r3, _0815AB2C @ =gRecvCmds + ldrh r0, [r3] + movs r1, 0xFF + lsls r1, 8 + ands r1, r0 + movs r0, 0xBC + lsls r0, 6 + cmp r1, r0 + bne _0815AB28 + lsls r0, r2, 4 + adds r1, r3, 0x2 + adds r1, r0, r1 + ldrb r0, [r1] + cmp r0, 0x3 + beq _0815AB30 +_0815AB28: + movs r0, 0 + b _0815AB36 + .align 2, 0 +_0815AB2C: .4byte gRecvCmds +_0815AB30: + ldrb r0, [r1, 0x4] + strb r0, [r4] + movs r0, 0x1 +_0815AB36: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_815AB04 + + thumb_func_start sub_815AB3C +sub_815AB3C: @ 815AB3C + push {lr} + sub sp, 0x8 + ldr r2, _0815AB5C @ =0xffffff00 + ldr r1, [sp] + ands r1, r2 + movs r2, 0x4 + orrs r1, r2 + str r1, [sp] + str r0, [sp, 0x4] + mov r0, sp + bl sub_80F9E2C + add sp, 0x8 + pop {r0} + bx r0 + .align 2, 0 +_0815AB5C: .4byte 0xffffff00 + thumb_func_end sub_815AB3C + + thumb_func_start sub_815AB60 +sub_815AB60: @ 815AB60 + push {lr} + adds r2, r0, 0 + ldr r3, _0815AB88 @ =gRecvCmds + ldrh r0, [r3] + movs r1, 0xFF + lsls r1, 8 + ands r1, r0 + movs r0, 0xBC + lsls r0, 6 + cmp r1, r0 + bne _0815AB82 + lsls r0, r2, 4 + adds r1, r3, 0x2 + adds r1, r0, r1 + ldrb r0, [r1] + cmp r0, 0x4 + beq _0815AB8C +_0815AB82: + movs r0, 0 + b _0815AB8E + .align 2, 0 +_0815AB88: .4byte gRecvCmds +_0815AB8C: + ldr r0, [r1, 0x4] +_0815AB8E: + pop {r1} + bx r1 + thumb_func_end sub_815AB60 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/unk_815C27C.s b/asm/ereader_helpers.s index 067ab8659..067ab8659 100644 --- a/asm/unk_815C27C.s +++ b/asm/ereader_helpers.s diff --git a/asm/link.s b/asm/link.s index d2fabbd0c..6b89ed2db 100644 --- a/asm/link.s +++ b/asm/link.s @@ -870,7 +870,7 @@ _08009B7E: movs r0, 0 strh r0, [r3] lsls r4, r6, 4 - ldr r5, _08009BCC @ =gUnknown_3003ED0 + ldr r5, _08009BCC @ =gRecvCmds adds r2, r4, r5 ldrh r0, [r2] mov r12, r1 @@ -906,7 +906,7 @@ _08009BC4: b _08009E3E .align 2, 0 _08009BC8: .4byte gUnknown_3003E60 -_08009BCC: .4byte gUnknown_3003ED0 +_08009BCC: .4byte gRecvCmds _08009BD0: .4byte 0x00005fff _08009BD4: .4byte 0x00004444 _08009BD8: .4byte 0x00002222 @@ -1006,12 +1006,12 @@ _08009C94: adds r1, r0 movs r2, 0 strh r2, [r1] - ldr r0, _08009CBC @ =gUnknown_3003ED0 + ldr r0, _08009CBC @ =gRecvCmds adds r0, 0x2 adds r0, r4, r0 ldrh r0, [r0] strh r0, [r1, 0x2] - ldr r0, _08009CBC @ =gUnknown_3003ED0 + ldr r0, _08009CBC @ =gRecvCmds adds r0, 0x4 adds r0, r4, r0 ldrh r0, [r0] @@ -1019,7 +1019,7 @@ _08009C94: b _08009E3E .align 2, 0 _08009CB8: .4byte gUnknown_3000E18 -_08009CBC: .4byte gUnknown_3003ED0 +_08009CBC: .4byte gRecvCmds _08009CC0: mov r3, r12 adds r0, r3, r6 @@ -1037,7 +1037,7 @@ _08009CC0: mov r8, r0 movs r2, 0 adds r5, r3, 0 - ldr r7, _08009D0C @ =gUnknown_3003ED0 + ldr r7, _08009D0C @ =gRecvCmds adds r3, r4, 0 _08009CE4: ldrh r1, [r5] @@ -1059,13 +1059,13 @@ _08009CE4: .align 2, 0 _08009D04: .4byte gUnknown_3000E18 _08009D08: .4byte gDecompressionBuffer -_08009D0C: .4byte gUnknown_3003ED0 +_08009D0C: .4byte gRecvCmds _08009D10: movs r2, 0 ldr r1, _08009DC4 @ =gBlockRecvBuffer mov r9, r1 adds r7, r3, 0 - ldr r3, _08009DC8 @ =gUnknown_3003ED0 + ldr r3, _08009DC8 @ =gRecvCmds mov r8, r3 lsls r5, r6, 8 adds r3, r4, 0 @@ -1153,7 +1153,7 @@ _08009DBC: b _08009E3E .align 2, 0 _08009DC4: .4byte gBlockRecvBuffer -_08009DC8: .4byte gUnknown_3003ED0 +_08009DC8: .4byte gRecvCmds _08009DCC: .4byte gUnknown_3003EB8 _08009DD0: .4byte gLinkPlayers _08009DD4: .4byte gUnknown_82345C0 @@ -1187,7 +1187,7 @@ _08009E08: b _08009E3E _08009E0E: ldr r3, _08009E2C @ =gUnknown_8234598 - ldr r0, _08009E30 @ =gUnknown_3003ED0 + ldr r0, _08009E30 @ =gRecvCmds adds r0, 0x2 adds r0, r4, r0 ldrh r2, [r0] @@ -1202,9 +1202,9 @@ _08009E0E: b _08009E3E .align 2, 0 _08009E2C: .4byte gUnknown_8234598 -_08009E30: .4byte gUnknown_3003ED0 +_08009E30: .4byte gRecvCmds _08009E34: - ldr r0, _08009E5C @ =gUnknown_3003ED0 + ldr r0, _08009E5C @ =gRecvCmds adds r0, 0x2 adds r0, r4, r0 ldrh r0, [r0] @@ -1226,7 +1226,7 @@ _08009E4A: pop {r0} bx r0 .align 2, 0 -_08009E5C: .4byte gUnknown_3003ED0 +_08009E5C: .4byte gRecvCmds thumb_func_end sub_8009B70 thumb_func_start sub_8009E60 @@ -3779,7 +3779,7 @@ HandleLinkConnection: @ 800B178 bne _0800B1C8 ldr r0, _0800B1B4 @ =gUnknown_3003F84 ldr r1, _0800B1B8 @ =gUnknown_3003F50 - ldr r2, _0800B1BC @ =gUnknown_3003ED0 + ldr r2, _0800B1BC @ =gRecvCmds bl LinkMain1 ldr r4, _0800B1C0 @ =gUnknown_3003F20 str r0, [r4] @@ -3801,7 +3801,7 @@ _0800B1AA: _0800B1B0: .4byte gWirelessCommType _0800B1B4: .4byte gUnknown_3003F84 _0800B1B8: .4byte gUnknown_3003F50 -_0800B1BC: .4byte gUnknown_3003ED0 +_0800B1BC: .4byte gRecvCmds _0800B1C0: .4byte gUnknown_3003F20 _0800B1C4: .4byte gMain + 0x2C _0800B1C8: diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s index e15838946..feb7c886f 100644 --- a/asm/link_rfu_2.s +++ b/asm/link_rfu_2.s @@ -77,7 +77,7 @@ _080F863E: bl CpuSet mov r0, r8 strh r5, [r0] - ldr r1, _080F86B4 @ =gUnknown_3003ED0 + ldr r1, _080F86B4 @ =gRecvCmds ldr r2, _080F86B8 @ =0x01000028 bl CpuSet mov r0, r9 @@ -99,7 +99,7 @@ _080F86A4: .4byte gUnknown_30054BC _080F86A8: .4byte 0x00000634 _080F86AC: .4byte gUnknown_3003F50 _080F86B0: .4byte 0x01000008 -_080F86B4: .4byte gUnknown_3003ED0 +_080F86B4: .4byte gRecvCmds _080F86B8: .4byte 0x01000028 _080F86BC: .4byte gLinkPlayers _080F86C0: .4byte 0x01000046 @@ -1228,7 +1228,7 @@ sub_80F8FD4: @ 80F8FD4 push {r4-r7,lr} sub sp, 0x4 movs r2, 0 - ldr r7, _080F9028 @ =gUnknown_3003ED0 + ldr r7, _080F9028 @ =gRecvCmds ldr r0, _080F902C @ =gUnknown_3005450 adds r6, r7, 0 ldr r1, _080F9030 @ =0x0000093f @@ -1268,7 +1268,7 @@ _080F8FF4: pop {r0} bx r0 .align 2, 0 -_080F9028: .4byte gUnknown_3003ED0 +_080F9028: .4byte gRecvCmds _080F902C: .4byte gUnknown_3005450 _080F9030: .4byte 0x0000093f _080F9034: .4byte 0x01000028 @@ -1278,7 +1278,7 @@ _080F9034: .4byte 0x01000028 sub_80F9038: @ 80F9038 push {lr} ldr r3, _080F9064 @ =gUnknown_3003F50 - ldr r2, _080F9068 @ =gUnknown_3003ED0 + ldr r2, _080F9068 @ =gRecvCmds movs r1, 0x6 _080F9040: ldrh r0, [r3] @@ -1301,7 +1301,7 @@ _080F9056: bx r0 .align 2, 0 _080F9064: .4byte gUnknown_3003F50 -_080F9068: .4byte gUnknown_3003ED0 +_080F9068: .4byte gRecvCmds thumb_func_end sub_80F9038 thumb_func_start sub_80F906C @@ -1375,7 +1375,7 @@ _080F90E8: _080F90EC: .4byte gUnknown_3007460 _080F90F0: movs r3, 0 - ldr r4, _080F9118 @ =gUnknown_3003ED0 + ldr r4, _080F9118 @ =gRecvCmds _080F90F4: movs r2, 0 lsls r0, r3, 4 @@ -1397,7 +1397,7 @@ _080F9110: pop {r1} bx r1 .align 2, 0 -_080F9118: .4byte gUnknown_3003ED0 +_080F9118: .4byte gRecvCmds thumb_func_end sub_80F90DC thumb_func_start sub_80F911C @@ -1664,7 +1664,7 @@ _080F9304: str r2, [sp, 0x4] adds r5, 0x1 str r5, [sp] - ldr r1, _080F9450 @ =gUnknown_3003ED0 + ldr r1, _080F9450 @ =gRecvCmds mov r9, r1 adds r5, r3, 0 adds r7, r4, 0 @@ -1791,7 +1791,7 @@ _080F93FA: _080F9444: .4byte gUnknown_3005450 _080F9448: .4byte 0x000009a6 _080F944C: .4byte gUnknown_3005DE6 -_080F9450: .4byte gUnknown_3003ED0 +_080F9450: .4byte gRecvCmds _080F9454: .4byte 0x0000099d _080F9458: .4byte 0x00000991 _080F945C: .4byte gUnknown_203AC08 @@ -1904,7 +1904,7 @@ sub_80F9514: @ 80F9514 mov r1, sp bl sub_80FC6E8 movs r1, 0 - ldr r0, _080F963C @ =gUnknown_3003ED0 + ldr r0, _080F963C @ =gRecvCmds mov r12, r0 _080F952A: movs r4, 0 @@ -2038,7 +2038,7 @@ _080F9628: bx r1 .align 2, 0 _080F9638: .4byte gUnknown_3005574 -_080F963C: .4byte gUnknown_3003ED0 +_080F963C: .4byte gRecvCmds _080F9640: .4byte gUnknown_3005E10 _080F9644: .4byte gUnknown_3005450 _080F9648: .4byte 0x0000099c @@ -2348,7 +2348,7 @@ sub_80F9868: @ 80F9868 _080F9876: mov r1, r8 lsls r5, r1, 4 - ldr r2, _080F98B4 @ =gUnknown_3003ED0 + ldr r2, _080F98B4 @ =gRecvCmds adds r0, r5, r2 ldrh r7, [r0] movs r3, 0xFF @@ -2379,7 +2379,7 @@ _080F98A2: _080F98B0: b _080F9BF4 .align 2, 0 -_080F98B4: .4byte gUnknown_3003ED0 +_080F98B4: .4byte gRecvCmds _080F98B8: movs r0, 0xEE lsls r0, 7 @@ -2562,7 +2562,7 @@ _080F99FE: adds r2, r4, 0x1 lsls r0, r2, 1 adds r0, r3 - ldr r4, _080F9A90 @ =gUnknown_3003ED0 + ldr r4, _080F9A90 @ =gRecvCmds adds r0, r4 ldrh r0, [r0] strh r0, [r1] @@ -2623,7 +2623,7 @@ _080F9A80: .align 2, 0 _080F9A88: .4byte gUnknown_3005450 _080F9A8C: .4byte gBlockRecvBuffer -_080F9A90: .4byte gUnknown_3003ED0 +_080F9A90: .4byte gRecvCmds _080F9A94: .4byte gUnknown_843EBD4 _080F9A98: .4byte gReceivedRemoteLinkPlayers _080F9A9C: @@ -2703,7 +2703,7 @@ _080F9B00: adds r0, r7, r2 strb r1, [r0] _080F9B38: - ldr r0, _080F9B64 @ =gUnknown_3003ED0 + ldr r0, _080F9B64 @ =gRecvCmds adds r0, 0x6 adds r0, r5, r0 ldrh r0, [r0] @@ -2718,7 +2718,7 @@ _080F9B54: .4byte gUnknown_3003ED2 _080F9B58: .4byte gUnknown_3007460 _080F9B5C: .4byte gUnknown_3003ED4 _080F9B60: .4byte 0x0000099c -_080F9B64: .4byte gUnknown_3003ED0 +_080F9B64: .4byte gRecvCmds _080F9B68: movs r0, 0xEE lsls r0, 8 @@ -2732,7 +2732,7 @@ _080F9B68: adds r0, r5, r4 ldrh r0, [r0] strh r0, [r1, 0x4] - ldr r0, _080F9B9C @ =gUnknown_3003ED0 + ldr r0, _080F9B9C @ =gRecvCmds adds r0, 0x6 adds r0, r5, r0 ldrh r0, [r0] @@ -2742,7 +2742,7 @@ _080F9B68: _080F9B90: .4byte gUnknown_3003F50 _080F9B94: .4byte gUnknown_3003ED2 _080F9B98: .4byte gUnknown_3003ED4 -_080F9B9C: .4byte gUnknown_3003ED0 +_080F9B9C: .4byte gRecvCmds _080F9BA0: ldr r4, _080F9BD0 @ =gUnknown_3005450 ldrb r0, [r4, 0xC] @@ -3267,7 +3267,7 @@ _080F9F74: .4byte gUnknown_3003F50 _080F9F78: .4byte gUnknown_3005450 _080F9F7C: bl GetMultiplayerId - ldr r1, _080F9FA0 @ =gUnknown_3003ED0 + ldr r1, _080F9FA0 @ =gRecvCmds lsls r0, 24 lsrs r0, 20 adds r0, r1 @@ -3285,7 +3285,7 @@ _080F9F98: pop {r0} bx r0 .align 2, 0 -_080F9FA0: .4byte gUnknown_3003ED0 +_080F9FA0: .4byte gRecvCmds _080F9FA4: .4byte sub_80F9FA8 thumb_func_end rfufunc_80F9F44 @@ -3378,7 +3378,7 @@ rfufunc_80FA020: @ 80FA020 strh r0, [r3] movs r4, 0 mov r9, r5 - ldr r0, _080FA0D4 @ =gUnknown_3003ED0 + ldr r0, _080FA0D4 @ =gRecvCmds mov r12, r0 lsls r5, r6, 4 adds r7, r2, 0 @@ -3441,7 +3441,7 @@ _080FA05C: _080FA0C8: .4byte gUnknown_3005450 _080FA0CC: .4byte gUnknown_3003F50 _080FA0D0: .4byte 0xffff8900 -_080FA0D4: .4byte gUnknown_3003ED0 +_080FA0D4: .4byte gRecvCmds _080FA0D8: .4byte gUnknown_843EBD4 _080FA0DC: .4byte gUnknown_203AC08 _080FA0E0: @@ -6835,7 +6835,7 @@ sub_80FBA44: @ 80FBA44 sub sp, 0x4 movs r0, 0 str r0, [sp] - ldr r1, _080FBA5C @ =gUnknown_3003ED0 + ldr r1, _080FBA5C @ =gRecvCmds ldr r2, _080FBA60 @ =0x05000014 mov r0, sp bl CpuSet @@ -6843,7 +6843,7 @@ sub_80FBA44: @ 80FBA44 pop {r0} bx r0 .align 2, 0 -_080FBA5C: .4byte gUnknown_3003ED0 +_080FBA5C: .4byte gRecvCmds _080FBA60: .4byte 0x05000014 thumb_func_end sub_80FBA44 diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index 388c871d9..f2e88b619 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -7477,7 +7477,7 @@ _08119900: .4byte gSpecialVar_Result sub_8119904: @ 8119904 push {r4,r5,lr} adds r2, r0, 0 - ldr r3, _08119940 @ =gUnknown_3003ED0 + ldr r3, _08119940 @ =gRecvCmds ldrh r5, [r3, 0x12] adds r4, r5, 0 cmp r4, 0 @@ -7506,7 +7506,7 @@ _08119938: pop {r0} bx r0 .align 2, 0 -_08119940: .4byte gUnknown_3003ED0 +_08119940: .4byte gRecvCmds thumb_func_end sub_8119904 thumb_func_start sub_8119944 @@ -10578,7 +10578,7 @@ _0811B0A0: .4byte gUnknown_8457E0C sub_811B0A4: @ 811B0A4 push {lr} adds r2, r0, 0 - ldr r0, _0811B0C4 @ =gUnknown_3003ED0 + ldr r0, _0811B0C4 @ =gRecvCmds ldrh r1, [r0, 0x2] cmp r1, 0 beq _0811B0C8 @@ -10593,7 +10593,7 @@ _0811B0B8: movs r0, 0x1 b _0811B0CA .align 2, 0 -_0811B0C4: .4byte gUnknown_3003ED0 +_0811B0C4: .4byte gRecvCmds _0811B0C8: movs r0, 0 _0811B0CA: diff --git a/asm/pokemon_jump.s b/asm/pokemon_jump.s index 1af1fd10b..c00c08f20 100644 --- a/asm/pokemon_jump.s +++ b/asm/pokemon_jump.s @@ -596,7 +596,7 @@ sub_8147A34: @ 8147A34 ldrb r0, [r0] cmp r0, 0 beq _08147A98 - ldr r1, _08147A90 @ =gUnknown_3003ED0 + ldr r1, _08147A90 @ =gRecvCmds ldrh r0, [r1, 0x2] ldr r5, _08147A94 @ =0x00007fff cmp r0, r5 @@ -626,7 +626,7 @@ _08147A5C: .align 2, 0 _08147A88: .4byte gTasks+0x8 _08147A8C: .4byte gReceivedRemoteLinkPlayers -_08147A90: .4byte gUnknown_3003ED0 +_08147A90: .4byte gRecvCmds _08147A94: .4byte 0x00007fff _08147A98: ldrh r0, [r4, 0x16] diff --git a/asm/pokemon_jump_2.s b/asm/pokemon_jump_2.s index f47e312ff..dcdf8ad3b 100644 --- a/asm/pokemon_jump_2.s +++ b/asm/pokemon_jump_2.s @@ -4313,7 +4313,7 @@ sub_8149A90: @ 8149A90 push {r4,lr} sub sp, 0xC adds r4, r1, 0 - ldr r3, _08149AC4 @ =gUnknown_3003ED0 + ldr r3, _08149AC4 @ =gRecvCmds lsls r2, r0, 4 adds r0, r2, r3 ldrh r1, [r0] @@ -4337,7 +4337,7 @@ _08149AC0: movs r0, 0 b _08149AD8 .align 2, 0 -_08149AC4: .4byte gUnknown_3003ED0 +_08149AC4: .4byte gRecvCmds _08149AC8: mov r0, sp ldrh r0, [r0, 0x2] @@ -4443,7 +4443,7 @@ sub_8149B7C: @ 8149B7C sub sp, 0xC adds r5, r0, 0 adds r4, r1, 0 - ldr r2, _08149BE4 @ =gUnknown_3003ED0 + ldr r2, _08149BE4 @ =gRecvCmds ldrh r0, [r2] movs r1, 0xFF lsls r1, 8 @@ -4491,7 +4491,7 @@ sub_8149B7C: @ 8149B7C movs r0, 0x1 b _08149BEA .align 2, 0 -_08149BE4: .4byte gUnknown_3003ED0 +_08149BE4: .4byte gRecvCmds _08149BE8: movs r0, 0 _08149BEA: @@ -4534,7 +4534,7 @@ sub_8149C24: @ 8149C24 adds r4, r0, 0 adds r5, r2, 0 adds r6, r3, 0 - ldr r3, _08149C80 @ =gUnknown_3003ED0 + ldr r3, _08149C80 @ =gRecvCmds lsls r2, r1, 4 adds r0, r2, r3 ldrh r1, [r0] @@ -4575,7 +4575,7 @@ sub_8149C24: @ 8149C24 movs r0, 0x1 b _08149C86 .align 2, 0 -_08149C80: .4byte gUnknown_3003ED0 +_08149C80: .4byte gRecvCmds _08149C84: movs r0, 0 _08149C86: @@ -4590,7 +4590,7 @@ sub_8149C90: @ 8149C90 push {r4,lr} sub sp, 0xC adds r4, r0, 0 - ldr r3, _08149CDC @ =gUnknown_3003ED0 + ldr r3, _08149CDC @ =gRecvCmds lsls r2, r1, 4 adds r0, r2, r3 ldrh r1, [r0] @@ -4625,7 +4625,7 @@ sub_8149C90: @ 8149C90 movs r0, 0x1 b _08149CE2 .align 2, 0 -_08149CDC: .4byte gUnknown_3003ED0 +_08149CDC: .4byte gRecvCmds _08149CE0: movs r0, 0 _08149CE2: diff --git a/asm/unk_8159F40.s b/asm/unk_8159F40.s deleted file mode 100644 index aefa4ecff..000000000 --- a/asm/unk_8159F40.s +++ /dev/null @@ -1,1623 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8159F40 -sub_8159F40: @ 8159F40 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r0, 0 - mov r10, r0 - mov r9, r0 - ldr r1, _08159F90 @ =gBattleTypeFlags - movs r0, 0x80 - lsls r0, 9 - str r0, [r1] - bl ZeroPlayerPartyMons - bl ZeroEnemyPartyMons - ldr r1, _08159F94 @ =gUnknown_84792D0 - ldr r0, _08159F98 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - mov r8, r0 - movs r7, 0 -_08159F72: - lsls r0, r7, 4 - mov r2, r8 - adds r1, r0, r2 - ldrb r1, [r1] - adds r4, r0, 0 - cmp r1, 0 - bne _08159FA0 - movs r0, 0x64 - mov r1, r10 - muls r1, r0 - ldr r0, _08159F9C @ =gPlayerParty - adds r6, r1, r0 - movs r0, 0x1 - add r10, r0 - b _08159FAE - .align 2, 0 -_08159F90: .4byte gBattleTypeFlags -_08159F94: .4byte gUnknown_84792D0 -_08159F98: .4byte gSpecialVar_0x8004 -_08159F9C: .4byte gPlayerParty -_08159FA0: - movs r0, 0x64 - mov r1, r9 - muls r1, r0 - ldr r0, _0815A004 @ =gEnemyParty - adds r6, r1, r0 - movs r2, 0x1 - add r9, r2 -_08159FAE: - mov r0, r8 - adds r3, r4, r0 - ldrh r1, [r3, 0x2] - ldrb r2, [r3, 0x1] - ldrb r0, [r3, 0xD] - str r0, [sp] - ldrb r0, [r3, 0xC] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r6, 0 - movs r3, 0 - bl CreateMonWithGenderNatureLetter - movs r5, 0 - adds r7, 0x1 - mov r0, r8 - adds r0, 0x4 - adds r4, r0 -_08159FD4: - ldrh r1, [r4] - lsls r2, r5, 24 - lsrs r2, 24 - adds r0, r6, 0 - bl SetMonMoveSlot - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _08159FD4 - lsls r0, r7, 4 - add r0, r8 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08159F72 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815A004: .4byte gEnemyParty - thumb_func_end sub_8159F40 - - thumb_func_start sub_815A008 -sub_815A008: @ 815A008 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r1, 0 - mov r8, r1 - movs r6, 0x1 - movs r2, 0x2 - negs r2, r2 - mov r12, r2 - adds r5, r0, 0 - adds r5, 0x8 - movs r7, 0 - movs r0, 0x41 - negs r0, r0 - mov r10, r0 - movs r1, 0x7F - mov r9, r1 -_0815A02E: - ldr r2, _0815A1F4 @ =gMapObjects - adds r3, r7, r2 - ldrb r0, [r3] - lsls r0, 31 - lsrs r0, 31 - ands r0, r6 - ldrb r2, [r5] - mov r1, r12 - ands r1, r2 - orrs r1, r0 - strb r1, [r5] - ldrb r0, [r3] - lsls r0, 28 - lsrs r0, 31 - ands r0, r6 - lsls r0, 1 - movs r2, 0x3 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r5] - ldrb r0, [r3] - lsls r0, 27 - lsrs r0, 31 - ands r0, r6 - lsls r0, 2 - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5] - ldrb r0, [r3] - lsls r0, 26 - lsrs r0, 31 - ands r0, r6 - lsls r0, 3 - movs r2, 0x9 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r5] - ldrb r0, [r3, 0x1] - lsls r0, 31 - lsrs r0, 31 - ands r0, r6 - lsls r0, 4 - movs r1, 0x11 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5] - ldrb r0, [r3, 0x1] - lsls r0, 30 - lsrs r0, 31 - ands r0, r6 - lsls r0, 5 - movs r2, 0x21 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r5] - ldrb r0, [r3, 0x1] - lsls r0, 29 - lsrs r0, 31 - ands r0, r6 - lsls r0, 6 - mov r1, r10 - ands r1, r2 - orrs r1, r0 - strb r1, [r5] - ldrb r0, [r3, 0x1] - lsls r0, 28 - lsrs r0, 31 - lsls r0, 7 - mov r2, r9 - ands r1, r2 - orrs r1, r0 - strb r1, [r5] - ldrb r0, [r3, 0x1] - lsls r0, 27 - lsrs r0, 31 - ands r0, r6 - ldrb r2, [r5, 0x1] - mov r1, r12 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 26 - lsrs r0, 31 - ands r0, r6 - lsls r0, 1 - movs r2, 0x3 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r5, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 25 - lsrs r0, 31 - ands r0, r6 - lsls r0, 2 - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x1] - ldrb r0, [r3, 0x1] - lsrs r0, 7 - ands r0, r6 - lsls r0, 3 - movs r2, 0x9 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r5, 0x1] - ldrb r0, [r3, 0x2] - lsls r0, 31 - lsrs r0, 31 - ands r0, r6 - lsls r0, 4 - movs r1, 0x11 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x1] - ldrb r0, [r3, 0x2] - lsrs r0, 7 - ands r0, r6 - lsls r0, 5 - movs r2, 0x21 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r5, 0x1] - ldrb r0, [r3, 0x3] - lsls r0, 31 - lsrs r0, 31 - ands r0, r6 - lsls r0, 6 - mov r1, r10 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x1] - ldrb r0, [r3, 0x3] - lsls r0, 30 - lsrs r0, 31 - lsls r0, 7 - mov r2, r9 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x1] - ldrb r0, [r3, 0x3] - lsls r0, 29 - lsrs r0, 31 - ands r0, r6 - ldrb r2, [r5, 0x2] - mov r1, r12 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x2] - ldrb r2, [r3, 0x18] - lsls r2, 28 - lsrs r2, 27 - movs r0, 0x1F - negs r0, r0 - ands r1, r0 - orrs r1, r2 - strb r1, [r5, 0x2] - ldrb r1, [r3, 0xB] - lsls r1, 28 - movs r4, 0xF - lsrs r1, 28 - ldrb r2, [r5, 0x3] - adds r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x3] - ldrb r1, [r3, 0xB] - lsrs r1, 4 - lsls r1, 4 - ands r0, r4 - orrs r0, r1 - strb r0, [r5, 0x3] - ldrb r0, [r3, 0x5] - strb r0, [r5, 0x4] - ldrb r0, [r3, 0x6] - strb r0, [r5, 0x5] - ldrb r0, [r3, 0x7] - strb r0, [r5, 0x6] - ldrb r0, [r3, 0x8] - strb r0, [r5, 0x7] - ldrb r0, [r3, 0x9] - strb r0, [r5, 0x8] - ldrb r0, [r3, 0xA] - strb r0, [r5, 0x9] - ldrh r0, [r3, 0x10] - strh r0, [r5, 0xA] - ldrh r0, [r3, 0x12] - strh r0, [r5, 0xC] - ldrb r0, [r3, 0x1D] - strb r0, [r5, 0xE] - ldrb r0, [r3, 0x1F] - strb r0, [r5, 0xF] - adds r0, r3, 0 - adds r0, 0x21 - ldrb r0, [r0] - strb r0, [r5, 0x10] - adds r3, 0x22 - ldrb r0, [r3] - strb r0, [r5, 0x11] - adds r5, 0x14 - adds r7, 0x24 - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0xF - bhi _0815A1E4 - b _0815A02E -_0815A1E4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815A1F4: .4byte gMapObjects - thumb_func_end sub_815A008 - - thumb_func_start sub_815A1F8 -sub_815A1F8: @ 815A1F8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - str r1, [sp, 0x4] - adds r0, 0x8 - str r0, [sp, 0x8] - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r4, _0815A480 @ =gMapObjects - ldr r2, _0815A484 @ =0x01000120 - mov r0, sp - adds r1, r4, 0 - bl CpuSet - movs r0, 0 - mov r12, r0 - movs r1, 0x1 - mov r10, r1 -_0815A224: - mov r2, r12 - lsls r7, r2, 3 - adds r5, r7, r2 - lsls r5, 2 - ldr r0, _0815A480 @ =gMapObjects - adds r5, r0 - lsls r6, r2, 2 - add r6, r12 - lsls r6, 2 - ldr r1, [sp, 0x8] - adds r6, r1 - ldrb r0, [r6] - lsls r0, 31 - lsrs r0, 31 - mov r2, r10 - ands r0, r2 - ldrb r2, [r5] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5] - ldrb r0, [r6] - lsls r0, 30 - lsrs r0, 31 - mov r2, r10 - ands r0, r2 - lsls r0, 3 - movs r2, 0x9 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r5] - ldrb r0, [r6] - lsls r0, 29 - lsrs r0, 31 - mov r1, r10 - ands r0, r1 - lsls r0, 4 - movs r1, 0x11 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5] - ldrb r0, [r6] - lsls r0, 28 - lsrs r0, 31 - mov r2, r10 - ands r0, r2 - lsls r0, 5 - movs r4, 0x21 - negs r4, r4 - ands r1, r4 - orrs r1, r0 - strb r1, [r5] - ldrb r0, [r6] - lsls r0, 27 - lsrs r0, 31 - ands r0, r2 - ldrb r1, [r5, 0x1] - movs r2, 0x2 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r5, 0x1] - ldrb r0, [r6] - lsls r0, 26 - lsrs r0, 31 - mov r1, r10 - ands r0, r1 - lsls r0, 1 - movs r1, 0x3 - negs r1, r1 - mov r8, r1 - mov r3, r8 - ands r3, r2 - orrs r3, r0 - strb r3, [r5, 0x1] - ldrb r0, [r6] - lsls r0, 25 - lsrs r0, 31 - mov r2, r10 - ands r0, r2 - lsls r0, 2 - subs r1, 0x2 - mov r9, r1 - ands r1, r3 - orrs r1, r0 - strb r1, [r5, 0x1] - ldrb r0, [r6] - lsrs r0, 7 - ands r0, r2 - lsls r0, 3 - movs r2, 0x9 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r5, 0x1] - ldrb r0, [r6, 0x1] - lsls r0, 31 - lsrs r0, 31 - mov r1, r10 - ands r0, r1 - lsls r0, 4 - movs r1, 0x11 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x1] - ldrb r0, [r6, 0x1] - lsls r0, 30 - lsrs r0, 31 - mov r2, r10 - ands r0, r2 - lsls r0, 5 - ands r4, r1 - orrs r4, r0 - strb r4, [r5, 0x1] - ldrb r0, [r6, 0x1] - lsls r0, 29 - lsrs r0, 31 - ands r0, r2 - lsls r0, 6 - movs r2, 0x41 - negs r2, r2 - adds r1, r2, 0 - ands r4, r1 - orrs r4, r0 - strb r4, [r5, 0x1] - ldrb r0, [r6, 0x1] - lsls r0, 28 - lsrs r0, 31 - lsls r0, 7 - movs r3, 0x7F - ands r4, r3 - orrs r4, r0 - strb r4, [r5, 0x1] - ldrb r0, [r6, 0x1] - lsls r0, 27 - lsrs r0, 31 - mov r1, r10 - ands r0, r1 - ldrb r2, [r5, 0x2] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x2] - ldrb r0, [r6, 0x1] - lsls r0, 26 - lsrs r0, 31 - lsls r0, 7 - ands r1, r3 - orrs r1, r0 - strb r1, [r5, 0x2] - ldrb r0, [r6, 0x1] - lsls r0, 25 - lsrs r0, 31 - mov r2, r10 - ands r0, r2 - ldrb r2, [r5, 0x3] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x3] - ldrb r0, [r6, 0x1] - lsrs r0, 7 - mov r2, r10 - ands r0, r2 - lsls r0, 1 - mov r2, r8 - ands r2, r1 - orrs r2, r0 - mov r8, r2 - strb r2, [r5, 0x3] - ldrb r0, [r6, 0x2] - lsls r0, 31 - lsrs r0, 31 - mov r1, r10 - ands r0, r1 - lsls r0, 2 - mov r1, r9 - ands r2, r1 - orrs r2, r0 - strb r2, [r5, 0x3] - ldrb r1, [r6, 0x2] - lsls r1, 27 - lsrs r1, 28 - ldrb r2, [r5, 0x18] - movs r4, 0x10 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x18] - ldrb r1, [r6, 0x3] - lsls r1, 28 - movs r3, 0xF - lsrs r1, 28 - ldrb r2, [r5, 0xB] - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0xB] - ldrb r1, [r6, 0x3] - lsrs r1, 4 - lsls r1, 4 - ands r0, r3 - orrs r0, r1 - strb r0, [r5, 0xB] - ldrb r0, [r6, 0x4] - strb r0, [r5, 0x5] - ldrb r0, [r6, 0x5] - strb r0, [r5, 0x6] - ldrb r0, [r6, 0x6] - strb r0, [r5, 0x7] - ldrb r0, [r6, 0x7] - strb r0, [r5, 0x8] - ldrb r0, [r6, 0x8] - strb r0, [r5, 0x9] - ldrb r0, [r6, 0x9] - strb r0, [r5, 0xA] - ldrh r0, [r6, 0xA] - strh r0, [r5, 0x10] - ldrh r0, [r6, 0xC] - strh r0, [r5, 0x12] - ldrb r0, [r6, 0xE] - strb r0, [r5, 0x1D] - ldrb r0, [r6, 0xF] - strb r0, [r5, 0x1F] - ldrb r0, [r6, 0x10] - adds r1, r5, 0 - adds r1, 0x21 - strb r0, [r1] - ldrb r0, [r6, 0x11] - adds r1, 0x1 - strb r0, [r1] - movs r6, 0 - mov r8, r7 - mov r2, r12 - adds r2, 0x1 - str r2, [sp, 0xC] - ldrb r7, [r5, 0x8] - ldr r3, [sp, 0x4] - movs r0, 0xF - mov r9, r0 -_0815A412: - ldrb r1, [r3] - cmp r7, r1 - bne _0815A444 - ldrh r0, [r3, 0x4] - adds r0, 0x7 - strh r0, [r5, 0xC] - ldrh r0, [r3, 0x6] - adds r0, 0x7 - strh r0, [r5, 0xE] - ldrb r1, [r3, 0xA] - lsls r1, 28 - lsrs r1, 28 - mov r2, r9 - ands r1, r2 - ldrb r0, [r5, 0x19] - ands r0, r4 - orrs r0, r1 - strb r0, [r5, 0x19] - ldrb r1, [r3, 0xA] - lsrs r1, 4 - lsls r1, 4 - movs r2, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x19] -_0815A444: - adds r3, 0x18 - adds r6, 0x1 - cmp r6, 0x3F - bls _0815A412 - mov r0, r8 - add r0, r12 - lsls r0, 2 - ldr r1, _0815A480 @ =gMapObjects - adds r6, r0, r1 - movs r2, 0x10 - ldrsh r0, [r6, r2] - movs r2, 0x12 - ldrsh r1, [r6, r2] - bl MapGridGetMetatileBehaviorAt - strb r0, [r6, 0x1E] - ldrb r4, [r6, 0x1F] - movs r1, 0x10 - ldrsh r0, [r6, r1] - movs r2, 0x12 - ldrsh r1, [r6, r2] - bl MapGridGetMetatileBehaviorAt - cmp r4, r0 - bne _0815A488 - ldrh r0, [r6, 0x10] - strh r0, [r6, 0x14] - ldrh r0, [r6, 0x12] - b _0815A506 - .align 2, 0 -_0815A480: .4byte gMapObjects -_0815A484: .4byte 0x01000120 -_0815A488: - ldrb r4, [r6, 0x1F] - ldrh r0, [r6, 0x10] - subs r0, 0x1 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x12 - ldrsh r1, [r6, r2] - bl MapGridGetMetatileBehaviorAt - cmp r4, r0 - bne _0815A4A8 - ldrh r0, [r6, 0x10] - subs r0, 0x1 - strh r0, [r6, 0x14] - ldrh r0, [r6, 0x12] - b _0815A506 -_0815A4A8: - ldrb r4, [r6, 0x1F] - ldrh r0, [r6, 0x10] - adds r0, 0x1 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x12 - ldrsh r1, [r6, r2] - bl MapGridGetMetatileBehaviorAt - cmp r4, r0 - bne _0815A4C8 - ldrh r0, [r6, 0x10] - adds r0, 0x1 - strh r0, [r6, 0x14] - ldrh r0, [r6, 0x12] - b _0815A506 -_0815A4C8: - ldrb r4, [r6, 0x1F] - movs r1, 0x10 - ldrsh r0, [r6, r1] - ldrh r1, [r6, 0x12] - subs r1, 0x1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - cmp r4, r0 - bne _0815A4E8 - ldrh r0, [r6, 0x10] - strh r0, [r6, 0x14] - ldrh r0, [r6, 0x12] - subs r0, 0x1 - b _0815A506 -_0815A4E8: - ldrb r4, [r6, 0x1F] - movs r2, 0x10 - ldrsh r0, [r6, r2] - ldrh r1, [r6, 0x12] - adds r1, 0x1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - cmp r4, r0 - bne _0815A508 - ldrh r0, [r6, 0x10] - strh r0, [r6, 0x14] - ldrh r0, [r6, 0x12] - adds r0, 0x1 -_0815A506: - strh r0, [r6, 0x16] -_0815A508: - ldr r0, [sp, 0xC] - mov r12, r0 - cmp r0, 0xF - bhi _0815A512 - b _0815A224 -_0815A512: - ldr r0, _0815A538 @ =gMapObjects - ldr r1, _0815A53C @ =gSaveBlock1Ptr - ldr r1, [r1] - movs r2, 0xD4 - lsls r2, 3 - adds r1, r2 - movs r2, 0x90 - lsls r2, 1 - bl CpuSet - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815A538: .4byte gMapObjects -_0815A53C: .4byte gSaveBlock1Ptr - thumb_func_end sub_815A1F8 - - thumb_func_start sub_815A540 -sub_815A540: @ 815A540 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0815A5AC @ =gUnknown_203ADFA - ldrb r0, [r0] - cmp r0, 0x2 - bne _0815A5A4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsSurfable - lsls r0, 24 - cmp r0, 0 - bne _0815A5A4 - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _0815A5A4 - ldr r0, _0815A5B0 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0815A5B4 @ =gMapObjects - adds r4, r0 - movs r0, 0x1 - bl SetPlayerAvatarTransitionFlags - ldrb r1, [r4, 0x1A] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815A5B8 @ =gSprites - adds r0, r1 - bl DestroySprite -_0815A5A4: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815A5AC: .4byte gUnknown_203ADFA -_0815A5B0: .4byte gPlayerAvatar -_0815A5B4: .4byte gMapObjects -_0815A5B8: .4byte gSprites - thumb_func_end sub_815A540 - - thumb_func_start sub_815A5BC -sub_815A5BC: @ 815A5BC - push {lr} - sub sp, 0x8 - ldr r3, _0815A5E4 @ =0xffffff00 - ldr r1, [sp] - ands r1, r3 - movs r2, 0x1 - orrs r1, r2 - str r1, [sp] - lsls r0, 24 - lsrs r0, 24 - ldr r1, [sp, 0x4] - ands r1, r3 - orrs r1, r0 - str r1, [sp, 0x4] - mov r0, sp - bl sub_80F9E2C - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0815A5E4: .4byte 0xffffff00 - thumb_func_end sub_815A5BC - - thumb_func_start sub_815A5E8 -sub_815A5E8: @ 815A5E8 - push {lr} - adds r2, r0, 0 - ldr r3, _0815A610 @ =gUnknown_3003ED0 - ldrh r0, [r3] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _0815A60A - lsls r0, r2, 4 - adds r1, r3, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0x1 - beq _0815A614 -_0815A60A: - movs r0, 0 - b _0815A616 - .align 2, 0 -_0815A610: .4byte gUnknown_3003ED0 -_0815A614: - ldrb r0, [r1, 0x4] -_0815A616: - pop {r1} - bx r1 - thumb_func_end sub_815A5E8 - - thumb_func_start sub_815A61C -sub_815A61C: @ 815A61C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r4, [sp, 0x48] - lsls r4, 24 - str r4, [sp, 0x1C] - movs r4, 0x14 - adds r4, r0 - mov r9, r4 - mov r5, sp - movs r4, 0x2 - strb r4, [r5] - mov r10, sp - mov r5, r9 - ldrb r4, [r5, 0xB] - movs r7, 0xF - adds r5, r7, 0 - ands r5, r4 - mov r6, r10 - ldrb r6, [r6, 0x1] - mov r8, r6 - movs r4, 0x10 - negs r4, r4 - mov r6, r8 - ands r4, r6 - orrs r4, r5 - mov r5, r10 - strb r4, [r5, 0x1] - mov r8, sp - mov r6, r9 - ldrb r5, [r6, 0xC] - lsls r5, 4 - ands r4, r7 - orrs r4, r5 - mov r5, r8 - strb r4, [r5, 0x1] - ldrb r5, [r6, 0xD] - movs r6, 0xF - ands r5, r6 - mov r4, r10 - ldrb r4, [r4, 0x2] - mov r8, r4 - movs r4, 0x10 - negs r4, r4 - mov r6, r8 - ands r4, r6 - orrs r4, r5 - mov r5, r10 - strb r4, [r5, 0x2] - mov r8, sp - mov r6, r9 - ldrb r5, [r6, 0xE] - lsls r5, 4 - ands r4, r7 - orrs r4, r5 - mov r5, r8 - strb r4, [r5, 0x2] - ldrb r5, [r6, 0xF] - movs r6, 0xF - ands r5, r6 - mov r4, r10 - ldrb r4, [r4, 0x3] - mov r8, r4 - movs r4, 0x10 - negs r4, r4 - mov r6, r8 - ands r4, r6 - orrs r4, r5 - mov r5, r10 - strb r4, [r5, 0x3] - mov r8, sp - mov r6, r9 - ldrb r5, [r6, 0x10] - lsls r5, 4 - ands r4, r7 - orrs r4, r5 - mov r5, r8 - strb r4, [r5, 0x3] - ldrb r5, [r6, 0x11] - movs r6, 0xF - ands r5, r6 - mov r4, r10 - ldrb r4, [r4, 0x4] - mov r8, r4 - movs r4, 0x10 - negs r4, r4 - mov r6, r8 - ands r4, r6 - orrs r4, r5 - mov r5, r10 - strb r4, [r5, 0x4] - mov r8, sp - mov r6, r9 - ldrb r5, [r6, 0x12] - lsls r5, 4 - ands r4, r7 - orrs r4, r5 - mov r5, r8 - strb r4, [r5, 0x4] - ldrb r4, [r6, 0x13] - movs r6, 0xF - ands r4, r6 - mov r6, r8 - ldrb r5, [r6, 0x5] - movs r6, 0x10 - negs r6, r6 - ands r6, r5 - orrs r6, r4 - str r6, [sp, 0xC] - mov r4, r8 - strb r6, [r4, 0x5] - mov r5, sp - mov r6, r9 - ldrb r4, [r6, 0x14] - lsls r4, 4 - ldr r6, [sp, 0xC] - ands r6, r7 - orrs r6, r4 - strb r6, [r5, 0x5] - mov r7, sp - movs r4, 0x3 - mov r8, r4 - ldrb r0, [r0, 0x14] - mov r5, r8 - ands r0, r5 - ldrb r5, [r7, 0x6] - movs r6, 0x4 - negs r6, r6 - mov r10, r6 - mov r4, r10 - ands r4, r5 - orrs r4, r0 - strb r4, [r7, 0x6] - mov r5, r9 - ldrb r0, [r5, 0x1] - mov r6, r8 - ands r0, r6 - lsls r0, 2 - movs r5, 0xD - negs r5, r5 - ands r5, r4 - orrs r5, r0 - strb r5, [r7, 0x6] - mov r0, r9 - ldrb r4, [r0, 0x2] - ands r4, r6 - lsls r4, 4 - movs r0, 0x31 - negs r0, r0 - ands r0, r5 - orrs r0, r4 - strb r0, [r7, 0x6] - mov r5, sp - mov r6, r9 - ldrb r4, [r6, 0x3] - lsls r4, 6 - movs r6, 0x3F - ands r0, r6 - orrs r0, r4 - strb r0, [r5, 0x6] - mov r4, r9 - ldrb r0, [r4, 0x4] - mov r5, r8 - ands r0, r5 - ldrb r5, [r7, 0x7] - mov r4, r10 - ands r4, r5 - orrs r4, r0 - strb r4, [r7, 0x7] - mov r6, r9 - ldrb r0, [r6, 0x5] - mov r5, r8 - ands r0, r5 - lsls r0, 2 - movs r5, 0xD - negs r5, r5 - ands r5, r4 - orrs r5, r0 - strb r5, [r7, 0x7] - ldrb r4, [r6, 0x6] - mov r6, r8 - ands r4, r6 - lsls r4, 4 - movs r0, 0x31 - negs r0, r0 - ands r0, r5 - orrs r0, r4 - strb r0, [r7, 0x7] - mov r5, sp - mov r6, r9 - ldrb r4, [r6, 0x7] - lsls r4, 6 - movs r6, 0x3F - ands r0, r6 - orrs r0, r4 - strb r0, [r5, 0x7] - mov r8, sp - mov r0, r9 - ldrb r4, [r0, 0x8] - movs r7, 0x3 - adds r0, r7, 0 - ands r0, r4 - mov r4, r8 - ldrb r5, [r4, 0x8] - mov r4, r10 - ands r4, r5 - orrs r4, r0 - mov r5, r8 - strb r4, [r5, 0x8] - mov r6, r9 - ldrb r5, [r6, 0x9] - adds r0, r7, 0 - ands r0, r5 - lsls r0, 2 - movs r5, 0xD - negs r5, r5 - ands r5, r4 - orrs r5, r0 - mov r0, r8 - strb r5, [r0, 0x8] - ldrb r0, [r1] - adds r4, r7, 0 - ands r4, r0 - lsls r4, 4 - movs r0, 0x31 - negs r0, r0 - ands r0, r5 - orrs r0, r4 - mov r4, r8 - strb r0, [r4, 0x8] - mov r5, sp - ldrb r4, [r2] - lsls r4, 6 - movs r6, 0x3F - ands r0, r6 - orrs r0, r4 - strb r0, [r5, 0x8] - ldrb r4, [r3] - adds r0, r7, 0 - ands r0, r4 - ldrb r4, [r5, 0x9] - mov r6, r10 - ands r6, r4 - orrs r6, r0 - mov r10, r6 - strb r6, [r5, 0x9] - ldr r0, [sp, 0x40] - ldrb r4, [r0] - adds r0, r7, 0 - ands r0, r4 - lsls r0, 2 - movs r4, 0xD - negs r4, r4 - ands r6, r4 - orrs r6, r0 - str r6, [sp, 0x10] - strb r6, [r5, 0x9] - mov r4, sp - ldr r5, [sp, 0x44] - ldrb r0, [r5] - adds r6, r7, 0 - ands r6, r0 - lsls r0, r6, 4 - subs r7, 0x34 - ldr r5, [sp, 0x10] - ands r7, r5 - orrs r7, r0 - strb r7, [r4, 0x9] - mov r5, sp - ldrb r0, [r1, 0x4] - movs r6, 0x1 - mov r12, r6 - mov r4, r12 - ands r4, r0 - lsls r4, 6 - movs r0, 0x41 - negs r0, r0 - mov r10, r0 - ands r0, r7 - orrs r0, r4 - strb r0, [r5, 0x9] - ldrb r4, [r2, 0x4] - lsls r4, 7 - movs r5, 0x7F - ands r0, r5 - orrs r0, r4 - mov r4, r8 - strb r0, [r4, 0x9] - ldrb r4, [r3, 0x4] - mov r0, r12 - ands r0, r4 - mov r5, r8 - ldrb r4, [r5, 0xA] - movs r7, 0x2 - negs r7, r7 - adds r5, r7, 0 - ands r5, r4 - orrs r5, r0 - mov r6, r8 - strb r5, [r6, 0xA] - mov r9, sp - ldr r4, [sp, 0x40] - ldrb r0, [r4, 0x4] - mov r4, r12 - ands r4, r0 - lsls r4, 1 - movs r6, 0x3 - negs r6, r6 - mov r8, r6 - mov r0, r8 - ands r0, r5 - orrs r0, r4 - mov r4, r9 - strb r0, [r4, 0xA] - ldr r6, [sp, 0x44] - ldrb r5, [r6, 0x4] - mov r4, r12 - ands r4, r5 - lsls r4, 2 - movs r5, 0x5 - negs r5, r5 - ands r0, r5 - orrs r0, r4 - mov r4, r9 - strb r0, [r4, 0xA] - mov r4, sp - ldrb r1, [r1, 0x8] - mov r0, r12 - ands r0, r1 - lsls r0, 2 - ldrb r1, [r4, 0xB] - ands r5, r1 - orrs r5, r0 - strb r5, [r4, 0xB] - ldrb r1, [r2, 0x8] - mov r0, r12 - ands r0, r1 - lsls r0, 3 - movs r1, 0x9 - negs r1, r1 - ands r1, r5 - orrs r1, r0 - strb r1, [r4, 0xB] - ldrb r2, [r3, 0x8] - mov r0, r12 - ands r0, r2 - lsls r0, 4 - movs r2, 0x11 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r4, 0xB] - mov r3, sp - ldr r5, [sp, 0x40] - ldrb r0, [r5, 0x8] - mov r1, r12 - ands r1, r0 - lsls r1, 5 - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0xB] - mov r2, sp - ldrb r1, [r6, 0x8] - mov r6, r12 - ands r6, r1 - lsls r1, r6, 6 - mov r3, r10 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0xB] - ldr r4, [sp, 0x1C] - lsrs r3, r4, 21 - ldrb r1, [r2, 0xA] - movs r0, 0x7 - ands r0, r1 - orrs r0, r3 - strb r0, [r2, 0xA] - mov r1, sp - ldr r5, [sp, 0x4C] - movs r6, 0x1 - ands r5, r6 - lsls r2, r5, 1 - ldrb r0, [r1, 0xB] - mov r3, r8 - ands r3, r0 - orrs r3, r2 - mov r8, r3 - strb r3, [r1, 0xB] - mov r0, sp - ldr r4, [sp, 0x50] - ands r4, r6 - mov r5, r8 - ands r5, r7 - orrs r5, r4 - strb r5, [r0, 0xB] - bl sub_80F9E2C - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_815A61C - - thumb_func_start sub_815A950 -sub_815A950: @ 815A950 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r0, [sp, 0x1C] - mov r12, r0 - ldr r1, [sp, 0x20] - mov r8, r1 - ldr r0, [sp, 0x24] - mov r9, r0 - adds r2, r7, 0 - adds r2, 0x14 - ldr r4, _0815A98C @ =gUnknown_3003ED0 - ldrh r0, [r4] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _0815A988 - adds r3, r4, 0x2 - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _0815A990 -_0815A988: - movs r0, 0 - b _0815AACA - .align 2, 0 -_0815A98C: .4byte gUnknown_3003ED0 -_0815A990: - ldrb r0, [r3, 0x1] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0xB] - ldrb r0, [r3, 0x1] - lsrs r0, 4 - strb r0, [r2, 0xC] - ldrb r0, [r3, 0x2] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0xD] - ldrb r0, [r3, 0x2] - lsrs r0, 4 - strb r0, [r2, 0xE] - ldrb r0, [r3, 0x3] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0xF] - ldrb r0, [r3, 0x3] - lsrs r0, 4 - strb r0, [r2, 0x10] - ldrb r0, [r3, 0x4] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0x11] - ldrb r0, [r3, 0x4] - lsrs r0, 4 - strb r0, [r2, 0x12] - ldrb r0, [r3, 0x5] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0x13] - ldrb r0, [r3, 0x5] - lsrs r0, 4 - strb r0, [r2, 0x14] - ldrb r0, [r3, 0x1] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0x15] - ldrb r0, [r3, 0x6] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r7, 0x14] - ldrb r0, [r3, 0x6] - lsls r0, 28 - lsrs r0, 30 - strb r0, [r2, 0x1] - ldrb r0, [r3, 0x6] - lsls r0, 26 - lsrs r0, 30 - strb r0, [r2, 0x2] - ldrb r0, [r3, 0x6] - lsrs r0, 6 - strb r0, [r2, 0x3] - ldrb r0, [r3, 0x7] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r2, 0x4] - ldrb r0, [r3, 0x7] - lsls r0, 28 - lsrs r0, 30 - strb r0, [r2, 0x5] - ldrb r0, [r3, 0x7] - lsls r0, 26 - lsrs r0, 30 - strb r0, [r2, 0x6] - ldrb r0, [r3, 0x7] - lsrs r0, 6 - strb r0, [r2, 0x7] - ldrb r0, [r3, 0x8] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r2, 0x8] - ldrb r0, [r3, 0x8] - lsls r0, 28 - lsrs r0, 30 - strb r0, [r2, 0x9] - ldrb r0, [r3, 0x6] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r2, 0xA] - ldrb r0, [r3, 0x8] - lsls r0, 26 - lsrs r0, 30 - strb r0, [r5] - ldrb r0, [r3, 0x9] - lsls r0, 25 - lsrs r0, 31 - strb r0, [r5, 0x4] - ldrb r0, [r3, 0xB] - lsls r0, 29 - lsrs r0, 31 - strb r0, [r5, 0x8] - ldrb r0, [r3, 0x8] - lsrs r0, 6 - strb r0, [r6] - ldrb r0, [r3, 0x9] - lsrs r0, 7 - strb r0, [r6, 0x4] - ldrb r0, [r3, 0xB] - lsls r0, 28 - lsrs r0, 31 - strb r0, [r6, 0x8] - ldrb r0, [r3, 0x9] - lsls r0, 30 - lsrs r0, 30 - mov r1, r12 - strb r0, [r1] - ldrb r0, [r3, 0xA] - lsls r0, 31 - lsrs r0, 31 - strb r0, [r1, 0x4] - ldrb r0, [r3, 0xB] - lsls r0, 27 - lsrs r0, 31 - strb r0, [r1, 0x8] - ldrb r0, [r3, 0x9] - lsls r0, 28 - lsrs r0, 30 - mov r1, r8 - strb r0, [r1] - ldrb r0, [r3, 0xA] - lsls r0, 30 - lsrs r0, 31 - strb r0, [r1, 0x4] - ldrb r0, [r3, 0xB] - lsls r0, 26 - lsrs r0, 31 - strb r0, [r1, 0x8] - ldrb r0, [r3, 0x9] - lsls r0, 26 - lsrs r0, 30 - mov r1, r9 - strb r0, [r1] - ldrb r0, [r3, 0xA] - lsls r0, 29 - lsrs r0, 31 - strb r0, [r1, 0x4] - ldrb r0, [r3, 0xB] - lsls r0, 25 - lsrs r0, 31 - strb r0, [r1, 0x8] - ldrb r0, [r3, 0xA] - lsrs r0, 3 - ldr r1, [sp, 0x28] - strb r0, [r1] - ldrb r0, [r3, 0xB] - lsls r0, 30 - lsrs r0, 31 - ldr r1, [sp, 0x2C] - str r0, [r1] - ldrb r0, [r3, 0xB] - lsls r0, 31 - lsrs r0, 31 - ldr r1, [sp, 0x30] - str r0, [r1] - movs r0, 0x1 -_0815AACA: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_815A950 - - thumb_func_start sub_815AAD8 -sub_815AAD8: @ 815AAD8 - push {lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0815AB00 @ =0xffffff00 - ldr r1, [sp] - ands r1, r3 - movs r2, 0x3 - orrs r1, r2 - str r1, [sp] - ldr r1, [sp, 0x4] - ands r1, r3 - orrs r1, r0 - str r1, [sp, 0x4] - mov r0, sp - bl sub_80F9E2C - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0815AB00: .4byte 0xffffff00 - thumb_func_end sub_815AAD8 - - thumb_func_start sub_815AB04 -sub_815AB04: @ 815AB04 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - ldr r3, _0815AB2C @ =gUnknown_3003ED0 - ldrh r0, [r3] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _0815AB28 - lsls r0, r2, 4 - adds r1, r3, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0x3 - beq _0815AB30 -_0815AB28: - movs r0, 0 - b _0815AB36 - .align 2, 0 -_0815AB2C: .4byte gUnknown_3003ED0 -_0815AB30: - ldrb r0, [r1, 0x4] - strb r0, [r4] - movs r0, 0x1 -_0815AB36: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_815AB04 - - thumb_func_start sub_815AB3C -sub_815AB3C: @ 815AB3C - push {lr} - sub sp, 0x8 - ldr r2, _0815AB5C @ =0xffffff00 - ldr r1, [sp] - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - str r1, [sp] - str r0, [sp, 0x4] - mov r0, sp - bl sub_80F9E2C - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0815AB5C: .4byte 0xffffff00 - thumb_func_end sub_815AB3C - - thumb_func_start sub_815AB60 -sub_815AB60: @ 815AB60 - push {lr} - adds r2, r0, 0 - ldr r3, _0815AB88 @ =gUnknown_3003ED0 - ldrh r0, [r3] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _0815AB82 - lsls r0, r2, 4 - adds r1, r3, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0x4 - beq _0815AB8C -_0815AB82: - movs r0, 0 - b _0815AB8E - .align 2, 0 -_0815AB88: .4byte gUnknown_3003ED0 -_0815AB8C: - ldr r0, [r1, 0x4] -_0815AB8E: - pop {r1} - bx r1 - thumb_func_end sub_815AB60 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/unk_815C980.s b/asm/unk_815C980.s deleted file mode 100644 index a348558f3..000000000 --- a/asm/unk_815C980.s +++ /dev/null @@ -1,1314 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_815C980 -sub_815C980: @ 815C980 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r5, _0815C9A0 @ =gUnknown_203F454 - ldr r0, [r5] - cmp r0, 0 - beq _0815C990 - bl sub_815C9F4 -_0815C990: - movs r0, 0x8 - bl Alloc - str r0, [r5] - cmp r0, 0 - bne _0815C9A4 - movs r0, 0 - b _0815C9EC - .align 2, 0 -_0815C9A0: .4byte gUnknown_203F454 -_0815C9A4: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - bl Alloc - ldr r1, [r5] - str r0, [r1, 0x4] - cmp r0, 0 - bne _0815C9C0 - adds r0, r1, 0 - bl Free - movs r0, 0 - b _0815C9EC -_0815C9C0: - str r4, [r1] - movs r3, 0 - cmp r3, r4 - bcs _0815C9EA - movs r7, 0 - movs r6, 0xFF - movs r2, 0 -_0815C9CE: - ldr r0, [r5] - ldr r0, [r0, 0x4] - adds r0, r2, r0 - strb r7, [r0] - ldr r0, [r5] - ldr r1, [r0, 0x4] - adds r1, r2, r1 - ldrb r0, [r1, 0x1] - orrs r0, r6 - strb r0, [r1, 0x1] - adds r2, 0x1C - adds r3, 0x1 - cmp r3, r4 - bcc _0815C9CE -_0815C9EA: - movs r0, 0x1 -_0815C9EC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_815C980 - - thumb_func_start sub_815C9F4 -sub_815C9F4: @ 815C9F4 - push {r4,r5,lr} - ldr r2, _0815CA3C @ =gUnknown_203F454 - ldr r1, [r2] - cmp r1, 0 - beq _0815CA34 - ldr r0, [r1, 0x4] - cmp r0, 0 - beq _0815CA28 - movs r4, 0 - ldr r0, [r1] - cmp r4, r0 - bcs _0815CA1E - adds r5, r2, 0 -_0815CA0E: - adds r0, r4, 0 - bl sub_815D108 - adds r4, 0x1 - ldr r0, [r5] - ldr r0, [r0] - cmp r4, r0 - bcc _0815CA0E -_0815CA1E: - ldr r0, _0815CA3C @ =gUnknown_203F454 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl Free -_0815CA28: - ldr r4, _0815CA3C @ =gUnknown_203F454 - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] -_0815CA34: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0815CA3C: .4byte gUnknown_203F454 - thumb_func_end sub_815C9F4 - - thumb_func_start sub_815CA40 -sub_815CA40: @ 815CA40 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r8, r0 - mov r10, r1 - adds r5, r2, 0 - ldr r6, _0815CAB8 @ =gUnknown_203F454 - ldr r0, [r6] - cmp r0, 0 - beq _0815CB00 - ldr r1, [r0, 0x4] - mov r0, r8 - lsls r2, r0, 3 - subs r0, r2, r0 - lsls r4, r0, 2 - adds r1, r4, r1 - ldrb r0, [r1] - mov r9, r2 - cmp r0, 0 - bne _0815CB00 - ldrb r0, [r5, 0x1] - bl sub_815D244 - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strb r0, [r1, 0x1] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r0, [r0, 0x1] - cmp r0, 0xFF - beq _0815CB00 - ldr r0, [r5, 0x8] - ldrh r0, [r0, 0x6] - bl GetSpriteTileStartByTag - ldr r2, [r6] - ldr r1, [r2, 0x4] - adds r1, r4, r1 - strh r0, [r1, 0xA] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldrh r1, [r0, 0xA] - ldr r7, _0815CABC @ =0xffff0000 - lsrs r0, r7, 16 - cmp r1, r0 - bne _0815CB0C - ldr r2, [r5, 0x8] - ldrh r0, [r2, 0x4] - adds r1, r2, 0 - cmp r0, 0 - beq _0815CAC0 - adds r0, r1, 0 - bl LoadSpriteSheet - b _0815CAE0 - .align 2, 0 -_0815CAB8: .4byte gUnknown_203F454 -_0815CABC: .4byte 0xffff0000 -_0815CAC0: - ldr r0, [r2] - ldr r1, [r2, 0x4] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, [r2] - bl sub_800F0C4 - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp, 0x4] - ands r1, r7 - orrs r1, r0 - str r1, [sp, 0x4] - mov r0, sp - bl LoadCompressedObjectPic -_0815CAE0: - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strh r0, [r1, 0xA] - ldr r0, _0815CB04 @ =gUnknown_203F454 - ldr r0, [r0] - ldr r1, [r0, 0x4] - mov r2, r9 - mov r3, r8 - subs r0, r2, r3 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0xA] - ldr r0, _0815CB08 @ =0x0000ffff - cmp r1, r0 - bne _0815CB0C -_0815CB00: - movs r0, 0 - b _0815CC14 - .align 2, 0 -_0815CB04: .4byte gUnknown_203F454 -_0815CB08: .4byte 0x0000ffff -_0815CB0C: - ldr r0, [r5, 0xC] - ldrh r0, [r0, 0x4] - bl IndexOfSpritePaletteTag - ldr r6, _0815CC24 @ =gUnknown_203F454 - ldr r1, [r6] - ldr r1, [r1, 0x4] - mov r4, r9 - mov r3, r8 - subs r2, r4, r3 - lsls r4, r2, 2 - adds r1, r4, r1 - strb r0, [r1, 0x4] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r0, [r0, 0x4] - cmp r0, 0xFF - bne _0815CB40 - ldr r0, [r5, 0xC] - bl LoadSpritePalette - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strb r0, [r1, 0x4] -_0815CB40: - ldr r0, [r6] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r1, 0x2] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r1, [r5, 0x1] - strb r1, [r0, 0x3] - ldr r2, [r6] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldrh r1, [r5, 0x4] - strh r1, [r0, 0xC] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldrh r1, [r5, 0x6] - strh r1, [r0, 0xE] - ldr r1, [r2, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsls r0, 28 - lsrs r0, 30 - strb r0, [r1, 0x6] - ldr r0, [r6] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsls r0, 26 - lsrs r0, 30 - strb r0, [r1, 0x5] - ldr r0, [r6] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsrs r0, 6 - strb r0, [r1, 0x7] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r1, [r5, 0x2] - strb r1, [r0, 0x8] - ldrb r1, [r5] - lsls r0, r1, 28 - lsrs r0, 30 - lsls r1, 26 - lsrs r1, 30 - bl sub_815D324 - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strb r0, [r1, 0x9] - ldr r2, [r6] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldr r1, [r5, 0x8] - ldrh r1, [r1, 0x6] - strh r1, [r0, 0x10] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldr r1, [r5, 0xC] - ldrh r1, [r1, 0x4] - strh r1, [r0, 0x12] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - str r1, [r0, 0x14] - movs r3, 0x1 - ldrb r0, [r5, 0x1] - cmp r3, r0 - bcs _0815CBF6 -_0815CBDE: - ldr r0, [r6] - ldr r2, [r0, 0x4] - adds r2, r4, r2 - ldr r1, [r2, 0x14] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - str r0, [r2, 0x14] - adds r3, 0x1 - ldrb r2, [r5, 0x1] - cmp r3, r2 - bcc _0815CBDE -_0815CBF6: - ldr r0, _0815CC24 @ =gUnknown_203F454 - ldr r0, [r0] - mov r3, r9 - mov r4, r8 - subs r1, r3, r4 - lsls r1, 2 - ldr r0, [r0, 0x4] - adds r0, r1 - bl sub_815CC28 - mov r0, r8 - mov r1, r10 - bl sub_815CD70 - movs r0, 0x1 -_0815CC14: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0815CC24: .4byte gUnknown_203F454 - thumb_func_end sub_815CA40 - - thumb_func_start sub_815CC28 -sub_815CC28: @ 815CC28 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r4, r0, 0 - ldrb r5, [r4, 0x1] - movs r0, 0xC - ldrsh r7, [r4, r0] - ldrb r0, [r4, 0x3] - adds r0, 0x1 - mov r8, r0 - mov r1, sp - movs r0, 0 - strh r0, [r1] - lsls r1, r5, 3 - ldr r2, _0815CD58 @ =gMain + 0x38 - mov r9, r2 - add r1, r9 - mov r0, r8 - lsls r2, r0, 2 - movs r0, 0x80 - lsls r0, 17 - orrs r2, r0 - mov r0, sp - bl CpuSet - movs r6, 0 - ldrb r5, [r4, 0x1] - cmp r6, r8 - bcs _0815CCFA - movs r1, 0x3F - mov r10, r1 - movs r2, 0xD - negs r2, r2 - mov r9, r2 -_0815CC72: - lsls r0, r5, 3 - ldr r1, _0815CD5C @ =gMain - adds r3, r0, r1 - ldrh r1, [r4, 0xE] - adds r0, r3, 0 - adds r0, 0x38 - strb r1, [r0] - ldr r2, _0815CD60 @ =0x000001ff - adds r0, r2, 0 - adds r1, r7, 0 - ands r1, r0 - ldrh r2, [r3, 0x3A] - ldr r0, _0815CD64 @ =0xfffffe00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3A] - ldrb r1, [r4, 0x6] - movs r0, 0x39 - adds r0, r3 - mov r12, r0 - lsls r1, 6 - ldrb r2, [r0] - mov r0, r10 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrb r1, [r4, 0x5] - movs r2, 0x3B - adds r2, r3 - mov r12, r2 - lsls r1, 6 - ldrb r2, [r2] - mov r0, r10 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r4, 0xA] - ldr r1, _0815CD68 @ =0x000003ff - ands r1, r0 - ldrh r2, [r3, 0x3C] - ldr r0, _0815CD6C @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3C] - adds r3, 0x3D - movs r0, 0x3 - ldrb r1, [r4, 0x7] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - mov r0, r9 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r2, [r4, 0x4] - lsls r2, 4 - movs r1, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - ldrb r0, [r4, 0x8] - adds r7, r0 - adds r6, 0x1 - adds r5, 0x1 - cmp r6, r8 - bcc _0815CC72 -_0815CCFA: - subs r5, 0x1 - ldr r0, _0815CD5C @ =gMain - lsls r3, r5, 3 - adds r3, r0 - movs r2, 0xC - ldrsh r1, [r4, r2] - ldrb r0, [r4, 0x8] - subs r1, r0 - ldr r2, _0815CD60 @ =0x000001ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x3A] - ldr r0, _0815CD64 @ =0xfffffe00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3A] - adds r2, r3, 0 - adds r2, 0x39 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4, 0x9] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 1 - ldrh r4, [r4, 0xA] - adds r1, r4 - ldr r2, _0815CD68 @ =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x3C] - ldr r0, _0815CD6C @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3C] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815CD58: .4byte gMain + 0x38 -_0815CD5C: .4byte gMain -_0815CD60: .4byte 0x000001ff -_0815CD64: .4byte 0xfffffe00 -_0815CD68: .4byte 0x000003ff -_0815CD6C: .4byte 0xfffffc00 - thumb_func_end sub_815CC28 - - thumb_func_start sub_815CD70 -sub_815CD70: @ 815CD70 - push {r4-r6,lr} - adds r3, r0, 0 - adds r4, r1, 0 - ldr r0, _0815CDA0 @ =gUnknown_203F454 - ldr r1, [r0] - adds r6, r0, 0 - cmp r1, 0 - beq _0815CDD4 - ldr r2, [r1, 0x4] - lsls r1, r3, 3 - subs r0, r1, r3 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2] - adds r5, r1, 0 - cmp r0, 0 - beq _0815CDD4 - str r4, [r2, 0x18] - cmp r4, 0 - bge _0815CDA4 - movs r2, 0x1 - negs r4, r4 - b _0815CDA6 - .align 2, 0 -_0815CDA0: .4byte gUnknown_203F454 -_0815CDA4: - movs r2, 0 -_0815CDA6: - ldr r0, [r6] - ldr r1, [r0, 0x4] - subs r0, r5, r3 - lsls r0, 2 - adds r0, r1 - ldrb r3, [r0, 0x2] - cmp r3, 0x1 - beq _0815CDC6 - cmp r3, 0x1 - ble _0815CDBE - cmp r3, 0x2 - beq _0815CDCE -_0815CDBE: - adds r1, r4, 0 - bl sub_815CDDC - b _0815CDD4 -_0815CDC6: - adds r1, r4, 0 - bl sub_815CE90 - b _0815CDD4 -_0815CDCE: - adds r1, r4, 0 - bl sub_815CFEC -_0815CDD4: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_815CD70 - - thumb_func_start sub_815CDDC -sub_815CDDC: @ 815CDDC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - mov r9, r1 - str r2, [sp] - ldr r5, [r0, 0x14] - ldrb r7, [r0, 0x1] - ldr r0, _0815CE60 @ =gMain - mov r10, r0 - cmp r5, 0 - beq _0815CE46 - lsls r0, r7, 3 - adds r0, 0x3C - mov r1, r10 - adds r6, r0, r1 -_0815CE02: - mov r0, r9 - adds r1, r5, 0 - bl __udivsi3 - adds r4, r0, 0 - adds r0, r4, 0 - muls r0, r5 - mov r2, r9 - subs r2, r0 - mov r9, r2 - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - mov r1, r8 - ldrb r0, [r1, 0x9] - adds r1, r4, 0 - muls r1, r0 - mov r2, r8 - ldrh r2, [r2, 0xA] - adds r1, r2 - ldr r2, _0815CE64 @ =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r0, [r6] - ldr r2, _0815CE68 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r6] - adds r6, 0x8 - adds r7, 0x1 - cmp r5, 0 - bne _0815CE02 -_0815CE46: - ldr r0, [sp] - cmp r0, 0 - beq _0815CE6C - lsls r0, r7, 3 - add r0, r10 - adds r0, 0x39 - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - b _0815CE80 - .align 2, 0 -_0815CE60: .4byte gMain -_0815CE64: .4byte 0x000003ff -_0815CE68: .4byte 0xfffffc00 -_0815CE6C: - lsls r2, r7, 3 - add r2, r10 - adds r2, 0x39 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] -_0815CE80: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_815CDDC - - thumb_func_start sub_815CE90 -sub_815CE90: @ 815CE90 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r0, 0 - mov r8, r1 - str r2, [sp] - ldr r5, [r6, 0x14] - ldr r3, _0815CF38 @ =gUnknown_3002078 - ldrb r0, [r6, 0x1] - str r0, [r3] - ldr r2, _0815CF3C @ =gUnknown_300207C - movs r0, 0 - str r0, [r2] - ldr r1, _0815CF40 @ =gUnknown_3002080 - subs r0, 0x1 - str r0, [r1] - adds r7, r3, 0 - mov r10, r1 - ldr r0, _0815CF44 @ =gMain - mov r9, r0 - cmp r5, 0 - beq _0815CF78 -_0815CEC2: - mov r0, r8 - adds r1, r5, 0 - bl __udivsi3 - adds r4, r0, 0 - adds r0, r4, 0 - muls r0, r5 - mov r1, r8 - subs r1, r0 - mov r8, r1 - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - cmp r4, 0 - bne _0815CEF4 - mov r2, r10 - ldr r1, [r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0815CEF4 - cmp r5, 0 - bne _0815CF50 -_0815CEF4: - ldr r2, [r7] - lsls r2, 3 - add r2, r9 - ldrb r0, [r6, 0x9] - adds r3, r4, 0 - muls r3, r0 - ldrh r4, [r6, 0xA] - adds r3, r4 - ldr r1, _0815CF48 @ =0x000003ff - adds r0, r1, 0 - ands r3, r0 - ldrh r0, [r2, 0x3C] - ldr r4, _0815CF4C @ =0xfffffc00 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r3 - strh r0, [r2, 0x3C] - adds r2, 0x39 - ldrb r0, [r2] - movs r1, 0x4 - negs r1, r1 - ands r0, r1 - strb r0, [r2] - mov r2, r10 - ldr r1, [r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0815CF66 - ldr r4, _0815CF3C @ =gUnknown_300207C - ldr r0, [r4] - str r0, [r2] - b _0815CF66 - .align 2, 0 -_0815CF38: .4byte gUnknown_3002078 -_0815CF3C: .4byte gUnknown_300207C -_0815CF40: .4byte gUnknown_3002080 -_0815CF44: .4byte gMain -_0815CF48: .4byte 0x000003ff -_0815CF4C: .4byte 0xfffffc00 -_0815CF50: - ldr r0, [r7] - lsls r0, 3 - add r0, r9 - adds r0, 0x39 - ldrb r1, [r0] - movs r2, 0x4 - negs r2, r2 - ands r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_0815CF66: - ldr r0, [r7] - adds r0, 0x1 - str r0, [r7] - ldr r4, _0815CFB8 @ =gUnknown_300207C - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - cmp r5, 0 - bne _0815CEC2 -_0815CF78: - ldr r0, [sp] - cmp r0, 0 - beq _0815CFC4 - ldr r1, [r7] - lsls r1, 3 - add r1, r9 - adds r1, 0x39 - ldrb r2, [r1] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r3, [r7] - lsls r3, 3 - add r3, r9 - movs r1, 0xC - ldrsh r2, [r6, r1] - mov r4, r10 - ldr r0, [r4] - subs r0, 0x1 - ldrb r1, [r6, 0x8] - muls r0, r1 - adds r2, r0 - ldr r1, _0815CFBC @ =0x000001ff - adds r0, r1, 0 - ands r2, r0 - ldrh r1, [r3, 0x3A] - ldr r0, _0815CFC0 @ =0xfffffe00 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, 0x3A] - b _0815CFDA - .align 2, 0 -_0815CFB8: .4byte gUnknown_300207C -_0815CFBC: .4byte 0x000001ff -_0815CFC0: .4byte 0xfffffe00 -_0815CFC4: - ldr r0, [r7] - lsls r0, 3 - add r0, r9 - adds r0, 0x39 - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_0815CFDA: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_815CE90 - - thumb_func_start sub_815CFEC -sub_815CFEC: @ 815CFEC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r8, r0 - mov r10, r1 - str r2, [sp] - ldr r5, [r0, 0x14] - ldrb r3, [r0, 0x1] - movs r0, 0 - str r0, [sp, 0x4] - mov r9, r0 - cmp r5, 0 - beq _0815D086 -_0815D00C: - lsls r0, r3, 3 - adds r1, r0, 0 - adds r1, 0x39 - ldr r2, _0815D0D0 @ =gMain - adds r7, r1, r2 - adds r0, 0x3C - adds r6, r0, r2 -_0815D01A: - mov r0, r10 - adds r1, r5, 0 - str r3, [sp, 0x8] - bl __udivsi3 - adds r4, r0, 0 - adds r0, r4, 0 - muls r0, r5 - mov r1, r10 - subs r1, r0 - mov r10, r1 - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - ldr r3, [sp, 0x8] - cmp r4, 0 - bne _0815D04A - ldr r2, [sp, 0x4] - cmp r2, 0 - bne _0815D04A - cmp r5, 0 - bne _0815D00C -_0815D04A: - movs r0, 0x1 - str r0, [sp, 0x4] - mov r1, r8 - ldrb r0, [r1, 0x9] - adds r2, r4, 0 - muls r2, r0 - ldrh r4, [r1, 0xA] - adds r2, r4 - ldr r1, _0815D0D4 @ =0x000003ff - adds r0, r1, 0 - ands r2, r0 - ldrh r0, [r6] - ldr r4, _0815D0D8 @ =0xfffffc00 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r2 - strh r0, [r6] - ldrb r0, [r7] - movs r2, 0x4 - negs r2, r2 - adds r1, r2, 0 - ands r0, r1 - strb r0, [r7] - adds r7, 0x8 - adds r6, 0x8 - adds r3, 0x1 - movs r4, 0x1 - add r9, r4 - cmp r5, 0 - bne _0815D01A -_0815D086: - mov r0, r8 - ldrb r0, [r0, 0x3] - cmp r9, r0 - bge _0815D0B6 - ldr r1, _0815D0D0 @ =gMain - movs r5, 0x4 - negs r5, r5 - movs r4, 0x2 - lsls r0, r3, 3 - adds r0, 0x39 - adds r2, r0, r1 -_0815D09C: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - orrs r0, r4 - strb r0, [r2] - adds r2, 0x8 - adds r3, 0x1 - movs r1, 0x1 - add r9, r1 - mov r0, r8 - ldrb r0, [r0, 0x3] - cmp r9, r0 - blt _0815D09C -_0815D0B6: - ldr r1, [sp] - cmp r1, 0 - beq _0815D0DC - lsls r0, r3, 3 - ldr r2, _0815D0D0 @ =gMain - adds r0, r2 - adds r0, 0x39 - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - b _0815D0F2 - .align 2, 0 -_0815D0D0: .4byte gMain -_0815D0D4: .4byte 0x000003ff -_0815D0D8: .4byte 0xfffffc00 -_0815D0DC: - lsls r2, r3, 3 - ldr r4, _0815D104 @ =gMain - adds r2, r4 - adds r2, 0x39 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] -_0815D0F2: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815D104: .4byte gMain - thumb_func_end sub_815CFEC - - thumb_func_start sub_815D108 -sub_815D108: @ 815D108 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r0, _0815D1A0 @ =gUnknown_203F454 - ldr r0, [r0] - cmp r0, 0 - beq _0815D19A - ldr r2, [r0, 0x4] - lsls r1, r4, 3 - subs r0, r1, r4 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2] - adds r5, r1, 0 - cmp r0, 0 - beq _0815D19A - ldrb r3, [r2, 0x3] - adds r0, r3, 0x1 - ldrb r2, [r2, 0x1] - cmp r0, 0 - beq _0815D152 - ldr r1, _0815D1A4 @ =gMain - movs r7, 0x4 - negs r7, r7 - movs r6, 0x2 - adds r3, r0, 0 - lsls r0, r2, 3 - adds r0, 0x39 - adds r2, r0, r1 -_0815D140: - ldrb r1, [r2] - adds r0, r7, 0 - ands r0, r1 - orrs r0, r6 - strb r0, [r2] - subs r3, 0x1 - adds r2, 0x8 - cmp r3, 0 - bne _0815D140 -_0815D152: - adds r0, r4, 0 - bl sub_815D29C - cmp r0, 0 - bne _0815D16E - ldr r0, _0815D1A0 @ =gUnknown_203F454 - ldr r0, [r0] - ldr r1, [r0, 0x4] - subs r0, r5, r4 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x10] - bl FreeSpriteTilesByTag -_0815D16E: - adds r0, r4, 0 - bl sub_815D2E0 - cmp r0, 0 - bne _0815D18A - ldr r0, _0815D1A0 @ =gUnknown_203F454 - ldr r0, [r0] - ldr r1, [r0, 0x4] - subs r0, r5, r4 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x12] - bl FreeSpritePaletteByTag -_0815D18A: - ldr r0, _0815D1A0 @ =gUnknown_203F454 - ldr r0, [r0] - ldr r1, [r0, 0x4] - subs r0, r5, r4 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_0815D19A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815D1A0: .4byte gUnknown_203F454 -_0815D1A4: .4byte gMain - thumb_func_end sub_815D108 - - thumb_func_start sub_815D1A8 -sub_815D1A8: @ 815D1A8 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, _0815D1FC @ =gUnknown_203F454 - ldr r1, [r0] - adds r7, r0, 0 - cmp r1, 0 - beq _0815D238 - ldr r2, [r1, 0x4] - lsls r1, r4, 3 - subs r0, r1, r4 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2] - adds r6, r1, 0 - cmp r0, 0 - beq _0815D238 - ldrb r3, [r2, 0x3] - adds r1, r3, 0x1 - ldrb r0, [r2, 0x1] - cmp r5, 0 - beq _0815D204 - cmp r1, 0 - beq _0815D238 - ldr r1, _0815D200 @ =gMain - movs r5, 0x4 - negs r5, r5 - movs r4, 0x2 - adds r3, 0x1 - lsls r0, 3 - adds r0, 0x39 - adds r2, r0, r1 -_0815D1E8: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - orrs r0, r4 - strb r0, [r2] - subs r3, 0x1 - adds r2, 0x8 - cmp r3, 0 - bne _0815D1E8 - b _0815D238 - .align 2, 0 -_0815D1FC: .4byte gUnknown_203F454 -_0815D200: .4byte gMain -_0815D204: - cmp r1, 0 - beq _0815D226 - ldr r1, _0815D240 @ =gMain - movs r5, 0x4 - negs r5, r5 - adds r3, 0x1 - lsls r0, 3 - adds r0, 0x39 - adds r2, r0, r1 -_0815D216: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2] - subs r3, 0x1 - adds r2, 0x8 - cmp r3, 0 - bne _0815D216 -_0815D226: - ldr r0, [r7] - ldr r1, [r0, 0x4] - subs r0, r6, r4 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0, 0x18] - adds r0, r4, 0 - bl sub_815CD70 -_0815D238: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815D240: .4byte gMain - thumb_func_end sub_815D1A8 - - thumb_func_start sub_815D244 -sub_815D244: @ 815D244 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0x40 - movs r3, 0 - ldr r0, _0815D270 @ =gUnknown_203F454 - ldr r0, [r0] - ldr r2, [r0] - cmp r3, r2 - bcs _0815D286 - ldr r1, [r0, 0x4] -_0815D25A: - ldrb r0, [r1] - cmp r0, 0 - bne _0815D274 - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - beq _0815D27E - ldrb r0, [r1, 0x3] - cmp r0, r4 - bhi _0815D27E - ldrb r0, [r1, 0x1] - b _0815D296 - .align 2, 0 -_0815D270: .4byte gUnknown_203F454 -_0815D274: - adds r0, r5, 0x1 - ldrb r5, [r1, 0x3] - adds r0, r5 - lsls r0, 16 - lsrs r5, r0, 16 -_0815D27E: - adds r1, 0x1C - adds r3, 0x1 - cmp r3, r2 - bcc _0815D25A -_0815D286: - adds r0, r5, r4 - adds r0, 0x1 - cmp r0, 0x80 - bgt _0815D294 - lsls r0, r5, 24 - lsrs r0, 24 - b _0815D296 -_0815D294: - movs r0, 0xFF -_0815D296: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_815D244 - - thumb_func_start sub_815D29C -sub_815D29C: @ 815D29C - push {r4-r6,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r0, _0815D2CC @ =gUnknown_203F454 - ldr r0, [r0] - ldr r4, [r0] - cmp r2, r4 - bcs _0815D2D8 - ldr r1, [r0, 0x4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r5, r0, r1 -_0815D2B6: - ldrb r0, [r1] - cmp r0, 0 - beq _0815D2D0 - cmp r2, r3 - beq _0815D2D0 - ldrh r0, [r1, 0x10] - ldrh r6, [r5, 0x10] - cmp r0, r6 - bne _0815D2D0 - movs r0, 0x1 - b _0815D2DA - .align 2, 0 -_0815D2CC: .4byte gUnknown_203F454 -_0815D2D0: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, r4 - bcc _0815D2B6 -_0815D2D8: - movs r0, 0 -_0815D2DA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_815D29C - - thumb_func_start sub_815D2E0 -sub_815D2E0: @ 815D2E0 - push {r4-r6,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r0, _0815D310 @ =gUnknown_203F454 - ldr r0, [r0] - ldr r4, [r0] - cmp r2, r4 - bcs _0815D31C - ldr r1, [r0, 0x4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r5, r0, r1 -_0815D2FA: - ldrb r0, [r1] - cmp r0, 0 - beq _0815D314 - cmp r2, r3 - beq _0815D314 - ldrh r0, [r1, 0x12] - ldrh r6, [r5, 0x12] - cmp r0, r6 - bne _0815D314 - movs r0, 0x1 - b _0815D31E - .align 2, 0 -_0815D310: .4byte gUnknown_203F454 -_0815D314: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, r4 - bcc _0815D2FA -_0815D31C: - movs r0, 0 -_0815D31E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_815D2E0 - - thumb_func_start sub_815D324 -sub_815D324: @ 815D324 - ldr r2, _0815D330 @ =gUnknown_8479658 - lsls r0, 2 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - bx lr - .align 2, 0 -_0815D330: .4byte gUnknown_8479658 - thumb_func_end sub_815D324 - - .align 2, 0 @ Don't pad with nop. |