diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/palette.s | 2945 | ||||
-rw-r--r-- | asm/region_map.s | 2 | ||||
-rw-r--r-- | asm/trainer_card.s | 4 |
3 files changed, 3 insertions, 2948 deletions
diff --git a/asm/palette.s b/asm/palette.s deleted file mode 100644 index ed9327106..000000000 --- a/asm/palette.s +++ /dev/null @@ -1,2945 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start LoadCompressedPalette -LoadCompressedPalette: @ 80703A8 - push {r4-r6,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - ldr r6, _080703E0 @ =gUnknown_2037ACC - adds r1, r6, 0 - bl LZDecompressWram - lsls r4, 1 - ldr r1, _080703E4 @ =gPlttBufferUnfaded - adds r1, r4, r1 - lsrs r5, 17 - adds r0, r6, 0 - adds r2, r5, 0 - bl CpuSet - ldr r0, _080703E8 @ =gPlttBufferFaded - adds r4, r0 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl CpuSet - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080703E0: .4byte gUnknown_2037ACC -_080703E4: .4byte gPlttBufferUnfaded -_080703E8: .4byte gPlttBufferFaded - thumb_func_end LoadCompressedPalette - - thumb_func_start LoadPalette -LoadPalette: @ 80703EC - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsls r5, 16 - lsrs r4, 15 - ldr r1, _0807041C @ =gPlttBufferUnfaded - adds r1, r4, r1 - lsrs r5, 17 - adds r2, r5, 0 - bl CpuSet - ldr r0, _08070420 @ =gPlttBufferFaded - adds r4, r0 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl CpuSet - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807041C: .4byte gPlttBufferUnfaded -_08070420: .4byte gPlttBufferFaded - thumb_func_end LoadPalette - - thumb_func_start FillPalette -FillPalette: @ 8070424 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r6, 16 - lsrs r6, 16 - lsls r4, 16 - lsls r5, 16 - mov r0, sp - strh r6, [r0] - lsrs r4, 15 - ldr r1, _0807046C @ =gPlttBufferUnfaded - adds r1, r4, r1 - lsrs r5, 17 - movs r0, 0x80 - lsls r0, 17 - orrs r5, r0 - mov r0, sp - adds r2, r5, 0 - bl CpuSet - mov r0, sp - adds r0, 0x2 - strh r6, [r0] - ldr r1, _08070470 @ =gPlttBufferFaded - adds r4, r1 - adds r1, r4, 0 - adds r2, r5, 0 - bl CpuSet - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807046C: .4byte gPlttBufferUnfaded -_08070470: .4byte gPlttBufferFaded - thumb_func_end FillPalette - - thumb_func_start TransferPlttBuffer -TransferPlttBuffer: @ 8070474 - push {r4,r5,lr} - ldr r4, _080704BC @ =gPaletteFade - ldrb r1, [r4, 0x8] - movs r5, 0x80 - adds r0, r5, 0 - ands r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _080704B6 - ldr r1, _080704C0 @ =gPlttBufferFaded - movs r2, 0xA0 - lsls r2, 19 - ldr r0, _080704C4 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _080704C8 @ =0x80000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _080704CC @ =gUnknown_2037AC8 - str r3, [r0] - ldrb r1, [r4, 0x9] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x2 - bne _080704B6 - ldrb r1, [r4, 0x7] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _080704B6 - bl UpdateBlendRegisters -_080704B6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080704BC: .4byte gPaletteFade -_080704C0: .4byte gPlttBufferFaded -_080704C4: .4byte 0x040000d4 -_080704C8: .4byte 0x80000200 -_080704CC: .4byte gUnknown_2037AC8 - thumb_func_end TransferPlttBuffer - - thumb_func_start UpdatePaletteFade -UpdatePaletteFade: @ 80704D0 - push {lr} - ldr r0, _080704E0 @ =gUnknown_2037AC8 - ldr r0, [r0] - cmp r0, 0 - beq _080704E4 - movs r0, 0xFF - b _0807051C - .align 2, 0 -_080704E0: .4byte gUnknown_2037AC8 -_080704E4: - ldr r0, _080704F8 @ =gPaletteFade - ldrb r0, [r0, 0x9] - movs r1, 0x3 - ands r1, r0 - cmp r1, 0 - bne _080704FC - bl UpdateNormalPaletteFade - b _0807050A - .align 2, 0 -_080704F8: .4byte gPaletteFade -_080704FC: - cmp r1, 0x1 - bne _08070506 - bl UpdateFastPaletteFade - b _0807050A -_08070506: - bl UpdateHardwarePaletteFade -_0807050A: - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _08070520 @ =gUnknown_2037AC8 - ldr r0, _08070524 @ =gPaletteFade - ldr r0, [r0] - movs r1, 0 - orrs r0, r1 - str r0, [r2] - adds r0, r3, 0 -_0807051C: - pop {r1} - bx r1 - .align 2, 0 -_08070520: .4byte gUnknown_2037AC8 -_08070524: .4byte gPaletteFade - thumb_func_end UpdatePaletteFade - - thumb_func_start ResetPaletteFade -ResetPaletteFade: @ 8070528 - push {r4,lr} - movs r4, 0 -_0807052C: - adds r0, r4, 0 - bl ResetPaletteStruct - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0807052C - bl ResetPaletteFadeControl - pop {r4} - pop {r0} - bx r0 - thumb_func_end ResetPaletteFade - - thumb_func_start ReadPlttIntoBuffers -ReadPlttIntoBuffers: @ 8070548 - push {r4-r7,lr} - movs r0, 0xA0 - lsls r0, 19 - mov r12, r0 - movs r4, 0 - ldr r7, _0807057C @ =gPlttBufferUnfaded - ldr r6, _08070580 @ =gPlttBufferFaded - ldr r5, _08070584 @ =0x000001ff -_08070558: - lsls r1, r4, 1 - adds r3, r1, r7 - mov r0, r12 - adds r2, r1, r0 - ldrh r0, [r2] - strh r0, [r3] - adds r1, r6 - ldrh r0, [r2] - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r5 - bls _08070558 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807057C: .4byte gPlttBufferUnfaded -_08070580: .4byte gPlttBufferFaded -_08070584: .4byte 0x000001ff - thumb_func_end ReadPlttIntoBuffers - - thumb_func_start BeginNormalPaletteFade -BeginNormalPaletteFade: @ 8070588 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - ldr r0, [sp, 0x18] - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r12, r2 - lsls r3, 24 - lsrs r7, r3, 24 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r5, _080705B8 @ =gPaletteFade - ldrb r1, [r5, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080705BC - movs r0, 0 - b _080706B4 - .align 2, 0 -_080705B8: .4byte gPaletteFade -_080705BC: - ldrb r0, [r5, 0xA] - movs r3, 0x79 - negs r3, r3 - adds r2, r3, 0 - ands r2, r0 - movs r0, 0x10 - orrs r2, r0 - strb r2, [r5, 0xA] - lsls r0, r6, 24 - asrs r1, r0, 24 - cmp r1, 0 - bge _080705EA - lsls r0, r2, 25 - lsrs r0, 28 - negs r1, r1 - adds r0, r1 - movs r1, 0xF - ands r0, r1 - lsls r0, 3 - ands r2, r3 - orrs r2, r0 - strb r2, [r5, 0xA] - movs r6, 0 -_080705EA: - str r4, [r5] - movs r4, 0x3F - adds r1, r6, 0 - ands r1, r4 - ldrb r2, [r5, 0x4] - movs r3, 0x40 - negs r3, r3 - adds r0, r3, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x4] - ands r6, r4 - ldrb r0, [r5, 0x8] - ands r3, r0 - orrs r3, r6 - strb r3, [r5, 0x8] - movs r0, 0x1F - mov r1, r12 - ands r1, r0 - lsls r1, 6 - ldrh r2, [r5, 0x4] - ldr r0, _08070658 @ =0xfffff83f - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - lsls r2, r7, 3 - ldrb r1, [r5, 0x5] - movs r0, 0x7 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - ldr r1, _0807065C @ =0x00007fff - mov r0, r8 - ands r1, r0 - ldrh r2, [r5, 0x6] - ldr r0, _08070660 @ =0xffff8000 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x6] - ldrb r0, [r5, 0x7] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r5, 0x7] - ldrb r1, [r5, 0x9] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x9] - cmp r12, r7 - bcs _08070664 - movs r0, 0x41 - negs r0, r0 - ands r3, r0 - b _08070668 - .align 2, 0 -_08070658: .4byte 0xfffff83f -_0807065C: .4byte 0x00007fff -_08070660: .4byte 0xffff8000 -_08070664: - movs r0, 0x40 - orrs r3, r0 -_08070668: - strb r3, [r5, 0x8] - bl UpdatePaletteFade - ldr r4, _080706C0 @ =gPaletteFade - ldrb r1, [r4, 0x8] - lsrs r5, r1, 7 - movs r0, 0x7F - ands r0, r1 - strb r0, [r4, 0x8] - ldr r0, _080706C4 @ =gPlttBufferFaded - movs r1, 0xA0 - lsls r1, 19 - ldr r2, _080706C8 @ =0x04000100 - bl CpuSet - ldr r1, _080706CC @ =gUnknown_2037AC8 - movs r0, 0 - str r0, [r1] - ldrb r1, [r4, 0x9] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x2 - bne _080706A4 - ldrb r1, [r4, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080706A4 - bl UpdateBlendRegisters -_080706A4: - ldr r2, _080706C0 @ =gPaletteFade - lsls r3, r5, 7 - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - orrs r0, r3 - strb r0, [r2, 0x8] - movs r0, 0x1 -_080706B4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080706C0: .4byte gPaletteFade -_080706C4: .4byte gPlttBufferFaded -_080706C8: .4byte 0x04000100 -_080706CC: .4byte gUnknown_2037AC8 - thumb_func_end BeginNormalPaletteFade - - thumb_func_start unref_sub_80A1C1C -unref_sub_80A1C1C: @ 80706D0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - mov r8, r0 - adds r4, r1, 0 - adds r6, r2, 0 - ldr r5, [sp, 0x1C] - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r5, 16 - lsrs r5, 16 - str r3, [sp, 0x4] - bl ReadPlttIntoBuffers - lsls r4, 24 - asrs r4, 24 - str r5, [sp] - mov r0, r8 - adds r1, r4, 0 - adds r2, r6, 0 - ldr r3, [sp, 0x4] - bl BeginNormalPaletteFade - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end unref_sub_80A1C1C - - thumb_func_start unref_sub_80A1C64 -unref_sub_80A1C64: @ 8070718 - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - movs r5, 0 -_08070722: - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 2 - ldr r1, _08070770 @ =gUnknown_20379F8 - adds r4, r0, r1 - ldrb r0, [r4, 0x4] - lsls r0, 31 - cmp r0, 0 - beq _08070780 - ldr r2, [r4] - ldrb r0, [r2, 0x8] - lsls r0, 31 - lsrs r0, 31 - cmp r0, r7 - bne _08070780 - ldrh r1, [r4, 0x6] - lsls r1, 20 - lsrs r1, 25 - ldrb r0, [r2, 0xB] - lsls r0, 27 - lsrs r0, 27 - cmp r1, r0 - bne _0807075E - adds r0, r4, 0 - bl unused_sub_80A1F00 - ldrb r0, [r4, 0x4] - lsls r0, 31 - cmp r0, 0 - beq _08070780 -_0807075E: - ldrb r0, [r4, 0x8] - cmp r0, 0 - bne _08070774 - adds r0, r4, 0 - adds r1, r6, 0 - bl unused_sub_80A1CDC - b _08070778 - .align 2, 0 -_08070770: .4byte gUnknown_20379F8 -_08070774: - subs r0, 0x1 - strb r0, [r4, 0x8] -_08070778: - adds r0, r4, 0 - adds r1, r6, 0 - bl unused_sub_80A1E40 -_08070780: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _08070722 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end unref_sub_80A1C64 - - thumb_func_start unused_sub_80A1CDC -unused_sub_80A1CDC: @ 8070790 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - mov r8, r1 - movs r6, 0 - ldrh r1, [r4, 0x6] - lsls r1, 20 - lsrs r1, 25 - ldr r3, [r4] - ldrb r0, [r3, 0x9] - lsls r2, r0, 25 - lsrs r0, r2, 27 - adds r5, r1, 0 - muls r5, r0 - ldrb r1, [r3, 0x8] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0807082C - lsrs r0, r2, 27 - cmp r6, r0 - bcs _08070878 - ldr r0, _0807081C @ =gPlttBufferUnfaded - mov r12, r0 - ldr r7, _08070820 @ =gPlttBufferFaded -_080707C4: - ldr r0, [r4, 0x4] - lsls r0, 11 - lsrs r0, 22 - lsls r0, 1 - add r0, r12 - ldr r1, [r3, 0x4] - lsls r2, r5, 1 - adds r1, r2, r1 - ldrh r1, [r1] - strh r1, [r0] - ldr r0, [r4, 0x4] - lsls r0, 11 - lsrs r0, 22 - lsls r0, 1 - adds r0, r7 - ldr r1, [r4] - ldr r1, [r1, 0x4] - adds r2, r1 - ldrh r1, [r2] - strh r1, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, [r4, 0x4] - lsls r1, r2, 11 - lsrs r1, 22 - adds r1, 0x1 - ldr r0, _08070824 @ =0x000003ff - ands r1, r0 - lsls r1, 11 - ldr r0, _08070828 @ =0xffe007ff - ands r0, r2 - orrs r0, r1 - str r0, [r4, 0x4] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r3, [r4] - ldrb r0, [r3, 0x9] - lsls r0, 25 - lsrs r0, 27 - cmp r6, r0 - bcc _080707C4 - b _08070878 - .align 2, 0 -_0807081C: .4byte gPlttBufferUnfaded -_08070820: .4byte gPlttBufferFaded -_08070824: .4byte 0x000003ff -_08070828: .4byte 0xffe007ff -_0807082C: - lsrs r0, r2, 27 - cmp r6, r0 - bcs _08070878 - ldr r3, _080708E4 @ =gPlttBufferFaded -_08070834: - ldr r1, [r4, 0x4] - lsls r1, 11 - lsrs r1, 22 - lsls r1, 1 - adds r1, r3 - ldr r0, [r4] - ldr r2, [r0, 0x4] - lsls r0, r5, 1 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, [r4, 0x4] - lsls r1, r2, 11 - lsrs r1, 22 - adds r1, 0x1 - ldr r0, _080708E8 @ =0x000003ff - ands r1, r0 - lsls r1, 11 - ldr r0, _080708EC @ =0xffe007ff - ands r0, r2 - orrs r0, r1 - str r0, [r4, 0x4] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, [r4] - ldrb r0, [r0, 0x9] - lsls r0, 25 - lsrs r0, 27 - cmp r6, r0 - bcc _08070834 -_08070878: - ldrh r0, [r4, 0x4] - lsls r0, 21 - lsrs r0, 23 - lsls r0, 11 - ldr r1, [r4, 0x4] - ldr r2, _080708EC @ =0xffe007ff - ands r1, r2 - orrs r1, r0 - str r1, [r4, 0x4] - ldr r3, [r4] - ldrb r0, [r3, 0xA] - strb r0, [r4, 0x8] - ldrh r2, [r4, 0x6] - lsls r0, r2, 20 - lsrs r0, 25 - adds r0, 0x1 - movs r1, 0x7F - ands r0, r1 - lsls r0, 5 - ldr r5, _080708F0 @ =0xfffff01f - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strh r1, [r4, 0x6] - lsls r1, 20 - lsrs r1, 25 - ldrb r0, [r3, 0xB] - lsls r0, 27 - lsrs r0, 27 - cmp r1, r0 - blt _080708C8 - ldrb r0, [r4, 0x9] - cmp r0, 0 - beq _080708C0 - subs r0, 0x1 - strb r0, [r4, 0x9] -_080708C0: - ldrh r1, [r4, 0x6] - adds r0, r5, 0 - ands r0, r1 - strh r0, [r4, 0x6] -_080708C8: - ldrh r0, [r4, 0x4] - lsls r0, 21 - lsrs r0, 27 - movs r1, 0x1 - lsls r1, r0 - mov r2, r8 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080708E4: .4byte gPlttBufferFaded -_080708E8: .4byte 0x000003ff -_080708EC: .4byte 0xffe007ff -_080708F0: .4byte 0xfffff01f - thumb_func_end unused_sub_80A1CDC - - thumb_func_start unused_sub_80A1E40 -unused_sub_80A1E40: @ 80708F4 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r3, _0807094C @ =gPaletteFade - ldrb r1, [r3, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080709A8 - ldrh r0, [r4, 0x4] - lsls r0, 21 - lsrs r6, r0, 23 - asrs r1, r6, 4 - movs r5, 0x1 - adds r0, r5, 0 - lsls r0, r1 - ldr r1, [r3] - ands r0, r1 - cmp r0, 0 - beq _080709A8 - ldr r2, [r4] - ldrb r1, [r2, 0x8] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _08070950 - ldrb r1, [r3, 0x4] - lsls r1, 26 - ldrb r0, [r3, 0x8] - lsls r0, 26 - cmp r1, r0 - beq _080709A8 - adds r0, r6, 0 - ldrb r1, [r2, 0x9] - lsls r1, 25 - lsrs r1, 27 - ldrh r2, [r3, 0x4] - lsls r2, 21 - lsrs r2, 27 - ldrh r3, [r3, 0x6] - lsls r3, 17 - lsrs r3, 17 - bl BlendPalette - b _080709A8 - .align 2, 0 -_0807094C: .4byte gPaletteFade -_08070950: - ldrb r1, [r3, 0x4] - movs r0, 0x3F - ands r0, r1 - cmp r0, 0 - bne _080709A8 - ldrb r0, [r4, 0x8] - ldrb r1, [r2, 0xA] - cmp r0, r1 - beq _080709A8 - ldrh r0, [r4, 0x6] - lsls r0, 20 - lsrs r0, 25 - ldrb r1, [r2, 0x9] - lsls r1, 25 - lsrs r2, r1, 27 - adds r5, r0, 0 - muls r5, r2 - movs r3, 0 - adds r1, r2, 0 - cmp r3, r1 - bcs _080709A8 - ldr r6, _080709B0 @ =gPlttBufferFaded -_0807097C: - ldrh r1, [r4, 0x4] - lsls r1, 21 - lsrs r1, 23 - adds r1, r3 - lsls r1, 1 - adds r1, r6 - ldr r2, [r4] - adds r0, r5, r3 - ldr r2, [r2, 0x4] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, [r4] - ldrb r0, [r0, 0x9] - lsls r0, 25 - lsrs r0, 27 - cmp r3, r0 - bcc _0807097C -_080709A8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080709B0: .4byte gPlttBufferFaded - thumb_func_end unused_sub_80A1E40 - - thumb_func_start unused_sub_80A1F00 -unused_sub_80A1F00: @ 80709B4 - push {lr} - adds r3, r0, 0 - ldrb r0, [r3, 0x9] - cmp r0, 0 - bne _08070A04 - ldr r2, [r3] - ldrb r0, [r2, 0xB] - lsrs r0, 5 - cmp r0, 0 - bne _080709F4 - ldrh r1, [r3, 0x6] - ldr r0, _080709EC @ =0xfffff01f - ands r0, r1 - strh r0, [r3, 0x6] - ldrb r0, [r2, 0xA] - strb r0, [r3, 0x8] - ldrb r0, [r2, 0xC] - strb r0, [r3, 0x9] - ldrh r0, [r3, 0x4] - lsls r0, 21 - lsrs r0, 23 - lsls r0, 11 - ldr r1, [r3, 0x4] - ldr r2, _080709F0 @ =0xffe007ff - ands r1, r2 - orrs r1, r0 - str r1, [r3, 0x4] - b _08070A08 - .align 2, 0 -_080709EC: .4byte 0xfffff01f -_080709F0: .4byte 0xffe007ff -_080709F4: - cmp r0, 0 - blt _08070A08 - cmp r0, 0x2 - bgt _08070A08 - ldrh r0, [r2] - bl ResetPaletteStructByUid - b _08070A08 -_08070A04: - subs r0, 0x1 - strb r0, [r3, 0x9] -_08070A08: - pop {r0} - bx r0 - thumb_func_end unused_sub_80A1F00 - - thumb_func_start ResetPaletteStructByUid -ResetPaletteStructByUid: @ 8070A0C - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl GetPaletteNumByUid - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x10 - beq _08070A22 - bl ResetPaletteStruct -_08070A22: - pop {r0} - bx r0 - thumb_func_end ResetPaletteStructByUid - - thumb_func_start ResetPaletteStruct -ResetPaletteStruct: @ 8070A28 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08070A70 @ =gUnknown_20379F8 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r0, _08070A74 @ =gUnknown_83AC960 - str r0, [r1] - ldrb r2, [r1, 0x4] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x4] - ldrh r2, [r1, 0x4] - ldr r0, _08070A78 @ =0xfffff803 - ands r0, r2 - strh r0, [r1, 0x4] - ldr r0, [r1, 0x4] - ldr r2, _08070A7C @ =0xffe007ff - ands r0, r2 - str r0, [r1, 0x4] - ldrh r2, [r1, 0x6] - ldr r0, _08070A80 @ =0xfffff01f - ands r0, r2 - strh r0, [r1, 0x6] - ldrb r2, [r1, 0x4] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x4] - movs r0, 0 - strb r0, [r1, 0x8] - strb r0, [r1, 0x9] - bx lr - .align 2, 0 -_08070A70: .4byte gUnknown_20379F8 -_08070A74: .4byte gUnknown_83AC960 -_08070A78: .4byte 0xfffff803 -_08070A7C: .4byte 0xffe007ff -_08070A80: .4byte 0xfffff01f - thumb_func_end ResetPaletteStruct - - thumb_func_start ResetPaletteFadeControl -ResetPaletteFadeControl: @ 8070A84 - ldr r2, _08070AEC @ =gPaletteFade - movs r0, 0 - str r0, [r2] - subs r0, 0x40 - ldrb r1, [r2, 0x4] - ands r0, r1 - strb r0, [r2, 0x4] - ldrh r1, [r2, 0x4] - ldr r0, _08070AF0 @ =0xfffff83f - ands r0, r1 - strh r0, [r2, 0x4] - ldrb r1, [r2, 0x5] - movs r0, 0x7 - ands r0, r1 - strb r0, [r2, 0x5] - ldrh r1, [r2, 0x6] - ldr r0, _08070AF4 @ =0xffff8000 - ands r0, r1 - strh r0, [r2, 0x6] - ldrb r1, [r2, 0x7] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x7] - movs r0, 0 - strb r0, [r2, 0x8] - ldrb r1, [r2, 0x9] - movs r3, 0x5 - negs r3, r3 - adds r0, r3, 0 - ands r0, r1 - movs r1, 0x9 - negs r1, r1 - ands r0, r1 - strb r0, [r2, 0x9] - ldrb r1, [r2, 0xA] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0xA] - ldr r0, [r2, 0x8] - ldr r1, _08070AF8 @ =0xfffe0fff - ands r0, r1 - str r0, [r2, 0x8] - ldrb r0, [r2, 0xA] - ands r3, r0 - movs r0, 0x79 - negs r0, r0 - ands r3, r0 - movs r0, 0x10 - orrs r3, r0 - strb r3, [r2, 0xA] - bx lr - .align 2, 0 -_08070AEC: .4byte gPaletteFade -_08070AF0: .4byte 0xfffff83f -_08070AF4: .4byte 0xffff8000 -_08070AF8: .4byte 0xfffe0fff - thumb_func_end ResetPaletteFadeControl - - thumb_func_start unref_sub_80A2048 -unref_sub_80A2048: @ 8070AFC - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl GetPaletteNumByUid - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x10 - beq _08070B20 - ldr r1, _08070B24 @ =gUnknown_20379F8 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x4] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0, 0x4] -_08070B20: - pop {r0} - bx r0 - .align 2, 0 -_08070B24: .4byte gUnknown_20379F8 - thumb_func_end unref_sub_80A2048 - - thumb_func_start unref_sub_80A2074 -unref_sub_80A2074: @ 8070B28 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl GetPaletteNumByUid - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x10 - beq _08070B4E - ldr r0, _08070B54 @ =gUnknown_20379F8 - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1, 0x4] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x4] -_08070B4E: - pop {r0} - bx r0 - .align 2, 0 -_08070B54: .4byte gUnknown_20379F8 - thumb_func_end unref_sub_80A2074 - - thumb_func_start GetPaletteNumByUid -GetPaletteNumByUid: @ 8070B58 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0 - ldr r3, _08070B78 @ =gUnknown_20379F8 -_08070B62: - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, r2 - bne _08070B7C - adds r0, r1, 0 - b _08070B88 - .align 2, 0 -_08070B78: .4byte gUnknown_20379F8 -_08070B7C: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _08070B62 - movs r0, 0x10 -_08070B88: - pop {r1} - bx r1 - thumb_func_end GetPaletteNumByUid - - thumb_func_start UpdateNormalPaletteFade -UpdateNormalPaletteFade: @ 8070B8C - push {r4-r7,lr} - ldr r4, _08070BA0 @ =gPaletteFade - ldrb r1, [r4, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08070BA4 - movs r0, 0 - b _08070CC0 - .align 2, 0 -_08070BA0: .4byte gPaletteFade -_08070BA4: - bl IsSoftwarePaletteFadeFinishing - lsls r0, 24 - cmp r0, 0 - beq _08070BB2 - ldrb r0, [r4, 0x7] - b _08070CBE -_08070BB2: - ldrb r1, [r4, 0xA] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _08070BE6 - ldrb r2, [r4, 0x4] - lsls r1, r2, 26 - ldrb r0, [r4, 0x8] - lsls r0, 26 - cmp r1, r0 - bcs _08070BDE - lsrs r0, r1, 26 - adds r0, 0x1 - movs r1, 0x3F - ands r0, r1 - movs r1, 0x40 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x4] - movs r0, 0x2 - b _08070CC0 -_08070BDE: - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - strb r0, [r4, 0x4] -_08070BE6: - movs r5, 0 - ldr r2, _08070BFC @ =gPaletteFade - ldrb r1, [r2, 0xA] - movs r0, 0x4 - ands r0, r1 - adds r7, r2, 0 - cmp r0, 0 - bne _08070C00 - ldrh r4, [r7] - b _08070C06 - .align 2, 0 -_08070BFC: .4byte gPaletteFade -_08070C00: - ldrh r4, [r7, 0x2] - movs r5, 0x80 - lsls r5, 1 -_08070C06: - cmp r4, 0 - beq _08070C38 - ldr r7, _08070C74 @ =gPaletteFade - adds r6, r7, 0 -_08070C0E: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _08070C2A - ldrh r2, [r6, 0x4] - lsls r2, 21 - lsrs r2, 27 - ldrh r3, [r6, 0x6] - lsls r3, 17 - lsrs r3, 17 - adds r0, r5, 0 - movs r1, 0x10 - bl BlendPalette -_08070C2A: - lsrs r4, 1 - adds r0, r5, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r4, 0 - bne _08070C0E -_08070C38: - ldrb r2, [r7, 0xA] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r4, 0x5 - negs r4, r4 - ands r4, r2 - orrs r4, r1 - strb r4, [r7, 0xA] - movs r0, 0x4 - ands r0, r4 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _08070CBC - ldrh r6, [r7, 0x4] - lsls r2, r6, 21 - ldrb r0, [r7, 0x5] - lsls r5, r0, 24 - lsrs r1, r2, 27 - lsrs r0, r5, 27 - cmp r1, r0 - bne _08070C78 - str r3, [r7] - movs r0, 0x2 - orrs r4, r0 - strb r4, [r7, 0xA] - b _08070CBC - .align 2, 0 -_08070C74: .4byte gPaletteFade -_08070C78: - ldrb r1, [r7, 0x8] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _08070C94 - lsrs r3, r2, 27 - lsls r0, r4, 25 - lsrs r0, 28 - adds r3, r0, r3 - lsrs r0, r5, 27 - cmp r3, r0 - ble _08070CAA - adds r3, r0, 0 - b _08070CAA -_08070C94: - lsrs r3, r2, 27 - lsls r0, r4, 25 - lsrs r0, 28 - subs r0, r3, r0 - lsls r0, 24 - lsrs r3, r0, 24 - asrs r0, 24 - lsrs r1, r5, 27 - cmp r0, r1 - bge _08070CAA - adds r3, r1, 0 -_08070CAA: - lsls r0, r3, 24 - asrs r0, 24 - movs r1, 0x1F - ands r0, r1 - lsls r0, 6 - ldr r1, _08070CC8 @ =0xfffff83f - ands r1, r6 - orrs r1, r0 - strh r1, [r7, 0x4] -_08070CBC: - ldrb r0, [r7, 0x7] -_08070CBE: - lsrs r0, 7 -_08070CC0: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08070CC8: .4byte 0xfffff83f - thumb_func_end UpdateNormalPaletteFade - - thumb_func_start InvertPlttBuffer -InvertPlttBuffer: @ 8070CCC - push {r4-r7,lr} - adds r1, r0, 0 - movs r3, 0 - cmp r1, 0 - beq _08070D0A - ldr r7, _08070D10 @ =gPlttBufferFaded -_08070CD8: - movs r0, 0x1 - ands r0, r1 - lsrs r4, r1, 1 - adds r5, r3, 0 - adds r5, 0x10 - cmp r0, 0 - beq _08070D00 - movs r2, 0 - adds r6, r7, 0 -_08070CEA: - adds r0, r3, r2 - lsls r0, 1 - adds r0, r6 - ldrh r1, [r0] - mvns r1, r1 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _08070CEA -_08070D00: - adds r1, r4, 0 - lsls r0, r5, 16 - lsrs r3, r0, 16 - cmp r1, 0 - bne _08070CD8 -_08070D0A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070D10: .4byte gPlttBufferFaded - thumb_func_end InvertPlttBuffer - - thumb_func_start TintPlttBuffer -TintPlttBuffer: @ 8070D14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x4] - movs r0, 0 - mov r9, r0 - cmp r4, 0 - beq _08070DD0 - lsls r1, 24 - str r1, [sp, 0x8] -_08070D3E: - movs r0, 0x1 - ands r0, r4 - lsrs r4, 1 - str r4, [sp, 0xC] - movs r1, 0x10 - add r1, r9 - mov r10, r1 - cmp r0, 0 - beq _08070DC2 - movs r4, 0 - ldr r2, _08070DE0 @ =gPlttBufferFaded - mov r8, r2 - ldr r1, [sp] - lsls r0, r1, 24 - ldr r2, [sp, 0x4] - lsls r1, r2, 24 - ldr r2, [sp, 0x8] - asrs r2, 24 - mov r12, r2 - movs r5, 0x1F - asrs r7, r0, 24 - asrs r6, r1, 24 -_08070D6A: - mov r0, r9 - adds r2, r0, r4 - lsls r2, 1 - add r2, r8 - ldr r1, [r2] - lsls r1, 27 - lsrs r1, 27 - add r1, r12 - ands r1, r5 - ldrb r3, [r2] - movs r0, 0x20 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - ldr r1, [r2] - lsls r1, 22 - lsrs r1, 27 - adds r1, r7 - movs r0, 0x1F - ands r1, r0 - lsls r1, 5 - ldrh r3, [r2] - ldr r0, _08070DE4 @ =0xfffffc1f - ands r0, r3 - orrs r0, r1 - strh r0, [r2] - ldr r1, [r2] - lsls r1, 17 - lsrs r1, 27 - adds r1, r6 - ands r1, r5 - lsls r1, 2 - ldrb r3, [r2, 0x1] - movs r0, 0x7D - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08070D6A -_08070DC2: - ldr r4, [sp, 0xC] - mov r1, r10 - lsls r0, r1, 16 - lsrs r0, 16 - mov r9, r0 - cmp r4, 0 - bne _08070D3E -_08070DD0: - 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 -_08070DE0: .4byte gPlttBufferFaded -_08070DE4: .4byte 0xfffffc1f - thumb_func_end TintPlttBuffer - - thumb_func_start UnfadePlttBuffer -UnfadePlttBuffer: @ 8070DE8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r1, r0, 0 - movs r3, 0 - cmp r1, 0 - beq _08070E32 - ldr r0, _08070E3C @ =gPlttBufferFaded - mov r8, r0 - ldr r0, _08070E40 @ =gPlttBufferUnfaded - mov r12, r0 -_08070DFE: - movs r0, 0x1 - ands r0, r1 - lsrs r4, r1, 1 - adds r5, r3, 0 - adds r5, 0x10 - cmp r0, 0 - beq _08070E28 - movs r2, 0 - mov r7, r8 - mov r6, r12 -_08070E12: - adds r0, r3, r2 - lsls r0, 1 - adds r1, r0, r7 - adds r0, r6 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _08070E12 -_08070E28: - adds r1, r4, 0 - lsls r0, r5, 16 - lsrs r3, r0, 16 - cmp r1, 0 - bne _08070DFE -_08070E32: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070E3C: .4byte gPlttBufferFaded -_08070E40: .4byte gPlttBufferUnfaded - thumb_func_end UnfadePlttBuffer - - thumb_func_start BeginFastPaletteFade -BeginFastPaletteFade: @ 8070E44 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _08070E64 @ =gPaletteFade - ldrb r2, [r3, 0xA] - movs r1, 0x79 - negs r1, r1 - ands r1, r2 - movs r2, 0x10 - orrs r1, r2 - strb r1, [r3, 0xA] - bl BeginFastPaletteFadeInternal - pop {r0} - bx r0 - .align 2, 0 -_08070E64: .4byte gPaletteFade - thumb_func_end BeginFastPaletteFade - - thumb_func_start BeginFastPaletteFadeInternal -BeginFastPaletteFadeInternal: @ 8070E68 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r2, _08070EDC @ =gPaletteFade - ldrh r0, [r2, 0x4] - movs r3, 0xF8 - lsls r3, 3 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2, 0x4] - movs r1, 0x3F - ands r1, r4 - ldrb r3, [r2, 0x8] - movs r0, 0x40 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x8] - ldrb r0, [r2, 0x7] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x7] - ldrb r1, [r2, 0x9] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] - cmp r4, 0x2 - bne _08070EBA - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, _08070EE0 @ =gPlttBufferFaded - ldr r2, _08070EE4 @ =0x01000200 - mov r0, sp - bl CpuSet -_08070EBA: - cmp r4, 0 - bne _08070ED0 - mov r0, sp - adds r0, 0x2 - ldr r2, _08070EE8 @ =0x00007fff - adds r1, r2, 0 - strh r1, [r0] - ldr r1, _08070EE0 @ =gPlttBufferFaded - ldr r2, _08070EE4 @ =0x01000200 - bl CpuSet -_08070ED0: - bl UpdatePaletteFade - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08070EDC: .4byte gPaletteFade -_08070EE0: .4byte gPlttBufferFaded -_08070EE4: .4byte 0x01000200 -_08070EE8: .4byte 0x00007fff - thumb_func_end BeginFastPaletteFadeInternal - - thumb_func_start UpdateFastPaletteFade -UpdateFastPaletteFade: @ 8070EEC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r4, _08070F08 @ =gPaletteFade - ldrb r1, [r4, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08070F0C - movs r0, 0 - b _08071246 - .align 2, 0 -_08070F08: .4byte gPaletteFade -_08070F0C: - bl IsSoftwarePaletteFadeFinishing - lsls r0, 24 - cmp r0, 0 - beq _08070F1A - ldrb r0, [r4, 0x7] - b _08071244 -_08070F1A: - ldrb r1, [r4, 0xA] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08070F30 - movs r2, 0x80 - lsls r2, 1 - movs r0, 0x80 - lsls r0, 2 - mov r10, r0 - b _08070F38 -_08070F30: - movs r2, 0 - movs r1, 0x80 - lsls r1, 1 - mov r10, r1 -_08070F38: - ldr r1, _08070F50 @ =gPaletteFade - ldrb r0, [r1, 0x8] - lsls r0, 26 - lsrs r0, 26 - cmp r0, 0x1 - beq _08070FF8 - cmp r0, 0x1 - bgt _08070F54 - cmp r0, 0 - beq _08070F62 - b _08071148 - .align 2, 0 -_08070F50: .4byte gPaletteFade -_08070F54: - cmp r0, 0x2 - bne _08070F5A - b _0807105C -_08070F5A: - cmp r0, 0x3 - bne _08070F60 - b _080710E4 -_08070F60: - b _08071148 -_08070F62: - adds r7, r2, 0 - cmp r7, r10 - bcc _08070F6A - b _08071148 -_08070F6A: - lsls r2, r7, 1 - ldr r0, _08070FF0 @ =gPlttBufferUnfaded - adds r0, r2, r0 - ldr r1, [r0] - lsls r3, r1, 27 - lsls r0, r1, 22 - lsrs r0, 27 - mov r12, r0 - lsls r1, 17 - lsrs r1, 27 - mov r8, r1 - ldr r0, _08070FF4 @ =gPlttBufferFaded - adds r2, r0 - mov r9, r2 - ldr r1, [r2] - lsls r2, r1, 27 - lsrs r2, 3 - movs r4, 0xFE - lsls r4, 24 - adds r2, r4 - lsls r0, r1, 22 - lsrs r0, 27 - subs r0, 0x2 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 17 - lsrs r1, 27 - subs r1, 0x2 - lsls r1, 24 - lsrs r4, r1, 24 - lsrs r6, r2, 24 - asrs r2, 24 - lsrs r3, 3 - asrs r0, r3, 24 - cmp r2, r0 - bge _08070FB4 - lsrs r6, r3, 24 -_08070FB4: - lsls r0, r5, 24 - asrs r0, 24 - mov r2, r12 - lsls r1, r2, 24 - cmp r0, r12 - bge _08070FC2 - lsrs r5, r1, 24 -_08070FC2: - lsls r0, r4, 24 - asrs r0, 24 - mov r3, r8 - lsls r1, r3, 24 - cmp r0, r8 - bge _08070FD0 - lsrs r4, r1, 24 -_08070FD0: - lsls r1, r6, 24 - asrs r1, 24 - lsls r0, r5, 24 - asrs r0, 19 - orrs r1, r0 - lsls r0, r4, 24 - asrs r0, 14 - orrs r1, r0 - mov r4, r9 - strh r1, [r4] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, r10 - bcc _08070F6A - b _08071148 - .align 2, 0 -_08070FF0: .4byte gPlttBufferUnfaded -_08070FF4: .4byte gPlttBufferFaded -_08070FF8: - adds r7, r2, 0 - cmp r7, r10 - bcc _08071000 - b _08071148 -_08071000: - lsls r1, r7, 1 - ldr r0, _08071058 @ =gPlttBufferFaded - adds r2, r1, r0 - ldr r1, [r2] - lsls r0, r1, 27 - lsrs r0, 3 - movs r3, 0x80 - lsls r3, 18 - adds r0, r3 - lsrs r6, r0, 24 - lsls r0, r1, 22 - lsrs r0, 27 - adds r5, r0, 0x2 - lsls r1, 17 - lsrs r1, 27 - adds r4, r1, 0x2 - cmp r6, 0x1F - ble _08071026 - movs r6, 0x1F -_08071026: - lsls r0, r5, 24 - asrs r0, 24 - cmp r0, 0x1F - ble _08071030 - movs r5, 0x1F -_08071030: - lsls r0, r4, 24 - asrs r0, 24 - cmp r0, 0x1F - ble _0807103A - movs r4, 0x1F -_0807103A: - lsls r1, r6, 24 - asrs r1, 24 - lsls r0, r5, 24 - asrs r0, 19 - orrs r1, r0 - lsls r0, r4, 24 - asrs r0, 14 - orrs r1, r0 - strh r1, [r2] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, r10 - bcc _08071000 - b _08071148 - .align 2, 0 -_08071058: .4byte gPlttBufferFaded -_0807105C: - adds r7, r2, 0 - cmp r7, r10 - bcs _08071148 -_08071062: - lsls r2, r7, 1 - ldr r0, _080710DC @ =gPlttBufferUnfaded - adds r0, r2, r0 - ldr r1, [r0] - lsls r3, r1, 27 - lsls r0, r1, 22 - lsrs r0, 27 - mov r12, r0 - lsls r1, 17 - lsrs r1, 27 - mov r8, r1 - ldr r0, _080710E0 @ =gPlttBufferFaded - adds r2, r0 - ldr r1, [r2] - lsls r0, r1, 27 - lsrs r0, 3 - movs r4, 0x80 - lsls r4, 18 - adds r0, r4 - lsrs r6, r0, 24 - lsls r0, r1, 22 - lsrs r0, 27 - adds r5, r0, 0x2 - lsls r1, 17 - lsrs r1, 27 - adds r4, r1, 0x2 - lsrs r3, 3 - asrs r0, r3, 24 - cmp r6, r0 - ble _080710A0 - lsrs r6, r3, 24 -_080710A0: - lsls r0, r5, 24 - asrs r0, 24 - mov r3, r12 - lsls r1, r3, 24 - cmp r0, r12 - ble _080710AE - lsrs r5, r1, 24 -_080710AE: - lsls r0, r4, 24 - asrs r0, 24 - mov r3, r8 - lsls r1, r3, 24 - cmp r0, r8 - ble _080710BC - lsrs r4, r1, 24 -_080710BC: - lsls r1, r6, 24 - asrs r1, 24 - lsls r0, r5, 24 - asrs r0, 19 - orrs r1, r0 - lsls r0, r4, 24 - asrs r0, 14 - orrs r1, r0 - strh r1, [r2] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, r10 - bcc _08071062 - b _08071148 - .align 2, 0 -_080710DC: .4byte gPlttBufferUnfaded -_080710E0: .4byte gPlttBufferFaded -_080710E4: - adds r7, r2, 0 - cmp r7, r10 - bcs _08071148 - ldr r4, _08071170 @ =gPlttBufferFaded - mov r8, r4 -_080710EE: - lsls r0, r7, 1 - mov r1, r8 - adds r3, r0, r1 - ldr r1, [r3] - lsls r2, r1, 27 - lsrs r2, 3 - movs r4, 0xFE - lsls r4, 24 - adds r2, r4 - lsls r0, r1, 22 - lsrs r0, 27 - subs r0, 0x2 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 17 - lsrs r1, 27 - subs r1, 0x2 - lsls r1, 24 - lsrs r4, r1, 24 - lsrs r6, r2, 24 - cmp r2, 0 - bge _0807111C - movs r6, 0 -_0807111C: - lsls r0, r5, 24 - cmp r0, 0 - bge _08071124 - movs r5, 0 -_08071124: - lsls r0, r4, 24 - cmp r0, 0 - bge _0807112C - movs r4, 0 -_0807112C: - lsls r1, r6, 24 - asrs r1, 24 - lsls r0, r5, 24 - asrs r0, 19 - orrs r1, r0 - lsls r0, r4, 24 - asrs r0, 14 - orrs r1, r0 - strh r1, [r3] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, r10 - bcc _080710EE -_08071148: - ldr r0, _08071174 @ =gPaletteFade - ldrb r2, [r0, 0xA] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r3, 0x5 - negs r3, r3 - ands r3, r2 - orrs r3, r1 - ldr r1, _08071174 @ =gPaletteFade - strb r3, [r1, 0xA] - movs r0, 0x4 - ands r0, r3 - cmp r0, 0 - beq _08071178 - ldrb r0, [r1, 0x7] - b _08071244 - .align 2, 0 -_08071170: .4byte gPlttBufferFaded -_08071174: .4byte gPaletteFade -_08071178: - ldr r2, _08071194 @ =gPaletteFade - ldrh r4, [r2, 0x4] - lsls r5, r4, 21 - lsrs r0, r5, 27 - lsls r2, r3, 25 - lsrs r1, r2, 28 - subs r0, r1 - cmp r0, 0 - bge _0807119C - ldr r0, _08071198 @ =0xfffff83f - ands r0, r4 - ldr r3, _08071194 @ =gPaletteFade - strh r0, [r3, 0x4] - b _080711B2 - .align 2, 0 -_08071194: .4byte gPaletteFade -_08071198: .4byte 0xfffff83f -_0807119C: - lsrs r1, r5, 27 - lsrs r0, r2, 28 - subs r1, r0 - movs r0, 0x1F - ands r1, r0 - lsls r1, 6 - ldr r0, _080711D8 @ =0xfffff83f - ands r0, r4 - orrs r0, r1 - ldr r4, _080711DC @ =gPaletteFade - strh r0, [r4, 0x4] -_080711B2: - ldr r1, _080711DC @ =gPaletteFade - ldrh r0, [r1, 0x4] - movs r1, 0xF8 - lsls r1, 3 - ands r1, r0 - cmp r1, 0 - bne _08071240 - ldr r2, _080711DC @ =gPaletteFade - ldrb r0, [r2, 0x8] - lsls r0, 26 - lsrs r0, 26 - cmp r0, 0x1 - beq _08071204 - cmp r0, 0x1 - bgt _080711E0 - cmp r0, 0 - beq _080711EA - b _0807122C - .align 2, 0 -_080711D8: .4byte 0xfffff83f -_080711DC: .4byte gPaletteFade -_080711E0: - cmp r0, 0x2 - beq _080711EA - cmp r0, 0x3 - beq _08071220 - b _0807122C -_080711EA: - ldr r0, _080711F8 @ =gPlttBufferUnfaded - ldr r1, _080711FC @ =gPlttBufferFaded - ldr r2, _08071200 @ =0x04000100 - bl CpuSet - b _0807122C - .align 2, 0 -_080711F8: .4byte gPlttBufferUnfaded -_080711FC: .4byte gPlttBufferFaded -_08071200: .4byte 0x04000100 -_08071204: - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - ldr r1, _08071218 @ =gPlttBufferFaded - ldr r2, _0807121C @ =0x05000100 - mov r0, sp - bl CpuSet - b _0807122C - .align 2, 0 -_08071218: .4byte gPlttBufferFaded -_0807121C: .4byte 0x05000100 -_08071220: - str r1, [sp, 0x4] - add r0, sp, 0x4 - ldr r1, _08071258 @ =gPlttBufferFaded - ldr r2, _0807125C @ =0x05000100 - bl CpuSet -_0807122C: - ldr r2, _08071260 @ =gPaletteFade - ldrb r1, [r2, 0x9] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x9] - ldrb r0, [r2, 0xA] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0xA] -_08071240: - ldr r3, _08071260 @ =gPaletteFade - ldrb r0, [r3, 0x7] -_08071244: - lsrs r0, 7 -_08071246: - 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 -_08071258: .4byte gPlttBufferFaded -_0807125C: .4byte 0x05000100 -_08071260: .4byte gPaletteFade - thumb_func_end UpdateFastPaletteFade - - thumb_func_start BeginHardwarePaletteFade -BeginHardwarePaletteFade: @ 8071264 - push {r4-r7,lr} - ldr r5, [sp, 0x14] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r7, _080712EC @ =gPaletteFade - str r0, [r7] - movs r0, 0x3F - ands r1, r0 - ldrb r4, [r7, 0x4] - movs r6, 0x40 - negs r6, r6 - adds r0, r6, 0 - ands r0, r4 - orrs r0, r1 - strb r0, [r7, 0x4] - ldrb r0, [r7, 0x8] - ands r6, r0 - orrs r6, r1 - strb r6, [r7, 0x8] - movs r0, 0x1F - adds r1, r2, 0 - ands r1, r0 - lsls r1, 6 - ldrh r4, [r7, 0x4] - ldr r0, _080712F0 @ =0xfffff83f - ands r0, r4 - orrs r0, r1 - strh r0, [r7, 0x4] - lsls r4, r3, 3 - ldrb r1, [r7, 0x5] - movs r0, 0x7 - ands r0, r1 - orrs r0, r4 - strb r0, [r7, 0x5] - ldrb r0, [r7, 0x7] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r7, 0x7] - ldrb r1, [r7, 0x9] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - movs r1, 0x1 - ands r5, r1 - lsls r5, 2 - subs r1, 0x6 - ands r0, r1 - orrs r0, r5 - subs r1, 0x4 - ands r0, r1 - strb r0, [r7, 0x9] - cmp r2, r3 - bcs _080712F4 - movs r0, 0x41 - negs r0, r0 - ands r6, r0 - b _080712F8 - .align 2, 0 -_080712EC: .4byte gPaletteFade -_080712F0: .4byte 0xfffff83f -_080712F4: - movs r0, 0x40 - orrs r6, r0 -_080712F8: - strb r6, [r7, 0x8] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end BeginHardwarePaletteFade - - thumb_func_start UpdateHardwarePaletteFade -UpdateHardwarePaletteFade: @ 8071300 - push {r4-r7,lr} - ldr r2, _08071314 @ =gPaletteFade - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - adds r4, r2, 0 - cmp r0, 0 - bne _08071318 - movs r0, 0 - b _08071410 - .align 2, 0 -_08071314: .4byte gPaletteFade -_08071318: - ldrb r2, [r4, 0x4] - lsls r1, r2, 26 - ldrb r3, [r4, 0x8] - lsls r0, r3, 26 - cmp r1, r0 - bcs _0807133A - lsrs r0, r1, 26 - adds r0, 0x1 - movs r1, 0x3F - ands r0, r1 - movs r1, 0x40 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x4] - movs r0, 0x2 - b _08071410 -_0807133A: - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - strb r0, [r4, 0x4] - movs r0, 0x40 - ands r0, r3 - cmp r0, 0 - bne _08071398 - ldrh r1, [r4, 0x4] - lsls r0, r1, 21 - lsrs r0, 27 - adds r0, 0x1 - movs r7, 0x1F - ands r0, r7 - lsls r0, 6 - ldr r6, _08071394 @ =0xfffff83f - adds r3, r6, 0 - ands r3, r1 - orrs r3, r0 - strh r3, [r4, 0x4] - lsls r5, r3, 21 - ldrb r0, [r4, 0x5] - lsrs r1, r5, 27 - lsrs r0, 3 - cmp r1, r0 - bls _080713E4 - ldrb r2, [r4, 0x9] - lsls r1, r2, 28 - lsrs r1, 31 - adds r1, 0x1 - movs r0, 0x1 - ands r1, r0 - lsls r1, 3 - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x9] - lsrs r0, r5, 27 - subs r0, 0x1 - ands r0, r7 - lsls r0, 6 - ands r3, r6 - b _080713E0 - .align 2, 0 -_08071394: .4byte 0xfffff83f -_08071398: - ldrh r2, [r4, 0x4] - lsls r1, r2, 21 - lsrs r0, r1, 27 - subs r0, 0x1 - movs r6, 0x1F - ands r0, r6 - lsls r0, 6 - ldr r5, _08071418 @ =0xfffff83f - adds r3, r5, 0 - ands r3, r2 - orrs r3, r0 - strh r3, [r4, 0x4] - lsrs r1, 27 - subs r1, 0x1 - ldrb r0, [r4, 0x5] - lsrs r0, 3 - cmp r1, r0 - bge _080713E4 - ldrb r2, [r4, 0x9] - lsls r1, r2, 28 - lsrs r1, 31 - adds r1, 0x1 - movs r0, 0x1 - ands r1, r0 - lsls r1, 3 - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x9] - lsls r0, r3, 21 - lsrs r0, 27 - adds r0, 0x1 - ands r0, r6 - lsls r0, 6 - ands r3, r5 -_080713E0: - orrs r3, r0 - strh r3, [r4, 0x4] -_080713E4: - ldrb r1, [r4, 0x9] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0807140C - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08071402 - movs r0, 0 - str r0, [r4] - ldrh r1, [r4, 0x4] - ldr r0, _08071418 @ =0xfffff83f - ands r0, r1 - strh r0, [r4, 0x4] -_08071402: - ldrb r1, [r4, 0x9] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x9] -_0807140C: - ldrb r0, [r4, 0x7] - lsrs r0, 7 -_08071410: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08071418: .4byte 0xfffff83f - thumb_func_end UpdateHardwarePaletteFade - - thumb_func_start UpdateBlendRegisters -UpdateBlendRegisters: @ 807141C - push {r4,lr} - ldr r4, _08071468 @ =gPaletteFade - ldrh r1, [r4] - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r4, 0x4] - lsls r1, 21 - lsrs r1, 27 - movs r0, 0x54 - bl SetGpuReg - ldrb r1, [r4, 0x9] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08071460 - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - negs r1, r1 - ands r0, r1 - strb r0, [r4, 0x9] - movs r0, 0 - str r0, [r4] - ldrh r1, [r4, 0x4] - ldr r0, _0807146C @ =0xfffff83f - ands r0, r1 - strh r0, [r4, 0x4] - ldrb r1, [r4, 0x7] - movs r0, 0x7F - ands r0, r1 - strb r0, [r4, 0x7] -_08071460: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08071468: .4byte gPaletteFade -_0807146C: .4byte 0xfffff83f - thumb_func_end UpdateBlendRegisters - - thumb_func_start IsSoftwarePaletteFadeFinishing -IsSoftwarePaletteFadeFinishing: @ 8071470 - push {r4,lr} - ldr r3, _080714A8 @ =gPaletteFade - ldrb r4, [r3, 0xA] - movs r0, 0x2 - ands r0, r4 - cmp r0, 0 - beq _080714CC - ldr r2, [r3, 0x8] - movs r0, 0xF8 - lsls r0, 9 - ands r0, r2 - movs r1, 0x80 - lsls r1, 7 - cmp r0, r1 - bne _080714B0 - ldrb r1, [r3, 0x7] - movs r0, 0x7F - ands r0, r1 - strb r0, [r3, 0x7] - movs r0, 0x3 - negs r0, r0 - ands r0, r4 - strb r0, [r3, 0xA] - ldr r0, [r3, 0x8] - ldr r1, _080714AC @ =0xfffe0fff - ands r0, r1 - str r0, [r3, 0x8] - b _080714C4 - .align 2, 0 -_080714A8: .4byte gPaletteFade -_080714AC: .4byte 0xfffe0fff -_080714B0: - lsls r0, r2, 15 - lsrs r0, 27 - adds r0, 0x1 - movs r1, 0x1F - ands r0, r1 - lsls r0, 12 - ldr r1, _080714C8 @ =0xfffe0fff - ands r1, r2 - orrs r1, r0 - str r1, [r3, 0x8] -_080714C4: - movs r0, 0x1 - b _080714CE - .align 2, 0 -_080714C8: .4byte 0xfffe0fff -_080714CC: - movs r0, 0 -_080714CE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsSoftwarePaletteFadeFinishing - - thumb_func_start BlendPalettes -BlendPalettes: @ 80714D4 - push {r4-r7,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 16 - lsrs r6, r2, 16 - movs r5, 0 - cmp r4, 0 - beq _08071508 -_080714E6: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080714FA - adds r0, r5, 0 - movs r1, 0x10 - adds r2, r7, 0 - adds r3, r6, 0 - bl BlendPalette -_080714FA: - lsrs r4, 1 - adds r0, r5, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r4, 0 - bne _080714E6 -_08071508: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end BlendPalettes - - thumb_func_start BlendPalettesUnfaded -BlendPalettesUnfaded: @ 8071510 - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 16 - lsrs r5, 16 - ldr r0, _0807153C @ =gPlttBufferUnfaded - ldr r1, _08071540 @ =gPlttBufferFaded - movs r2, 0x80 - lsls r2, 1 - bl CpuFastSet - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl BlendPalettes - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807153C: .4byte gPlttBufferUnfaded -_08071540: .4byte gPlttBufferFaded - thumb_func_end BlendPalettesUnfaded - - thumb_func_start TintPalette_GrayScale -TintPalette_GrayScale: @ 8071544 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0 - beq _0807158C - movs r6, 0x1F - adds r5, r1, 0 -_08071554: - ldrh r1, [r4] - movs r2, 0x1F - ands r2, r1 - lsls r1, 16 - lsrs r3, r1, 21 - ands r3, r6 - lsrs r1, 26 - ands r1, r6 - movs r0, 0x4C - muls r2, r0 - movs r0, 0x97 - muls r0, r3 - adds r2, r0 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - adds r2, r0 - asrs r2, 8 - lsls r0, r2, 10 - lsls r1, r2, 5 - orrs r0, r1 - orrs r0, r2 - strh r0, [r4] - adds r4, 0x2 - subs r5, 0x1 - cmp r5, 0 - bne _08071554 -_0807158C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end TintPalette_GrayScale - - thumb_func_start TintPalette_GrayScale2 -TintPalette_GrayScale2: @ 8071594 - push {r4-r7,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0 - beq _080715E8 - movs r6, 0x1F - ldr r7, _080715F0 @ =gUnknown_83AC970 - adds r5, r1, 0 -_080715A6: - ldrh r1, [r4] - movs r2, 0x1F - ands r2, r1 - lsls r1, 16 - lsrs r3, r1, 21 - ands r3, r6 - lsrs r1, 26 - ands r1, r6 - movs r0, 0x4C - muls r2, r0 - movs r0, 0x97 - muls r0, r3 - adds r2, r0 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - adds r2, r0 - asrs r2, 8 - cmp r2, 0x1F - bls _080715D2 - movs r2, 0x1F -_080715D2: - adds r0, r2, r7 - ldrb r2, [r0] - lsls r0, r2, 10 - lsls r1, r2, 5 - orrs r0, r1 - orrs r0, r2 - strh r0, [r4] - adds r4, 0x2 - subs r5, 0x1 - cmp r5, 0 - bne _080715A6 -_080715E8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080715F0: .4byte gUnknown_83AC970 - thumb_func_end TintPalette_GrayScale2 - - thumb_func_start TintPalette_SepiaTone -TintPalette_SepiaTone: @ 80715F4 - push {r4-r7,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0 - beq _08071656 - movs r7, 0x1F - adds r6, r1, 0 -_08071604: - ldrh r0, [r5] - movs r1, 0x1F - ands r1, r0 - lsls r0, 16 - lsrs r2, r0, 21 - ands r2, r7 - lsrs r3, r0, 26 - ands r3, r7 - movs r0, 0x4C - muls r1, r0 - movs r0, 0x97 - muls r0, r2 - adds r1, r0 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r3 - adds r1, r0 - asrs r1, 8 - ldr r0, _0807165C @ =0x00000133 - muls r0, r1 - lsls r0, 16 - lsrs r2, r0, 24 - lsls r0, r1, 24 - lsrs r4, r0, 24 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 20 - lsrs r3, r0, 24 - cmp r2, 0x1F - ble _08071644 - movs r2, 0x1F -_08071644: - lsls r0, r3, 10 - lsls r1, r4, 5 - orrs r0, r1 - orrs r0, r2 - strh r0, [r5] - adds r5, 0x2 - subs r6, 0x1 - cmp r6, 0 - bne _08071604 -_08071656: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807165C: .4byte 0x00000133 - thumb_func_end TintPalette_SepiaTone - - thumb_func_start sub_8071660 -sub_8071660: @ 8071660 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - ldr r0, [sp, 0x1C] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r9, r2 - lsls r3, 16 - lsrs r3, 16 - mov r8, r3 - lsls r0, 16 - lsrs r0, 16 - mov r12, r0 - cmp r1, 0 - beq _080716EC - movs r7, 0x1F - adds r6, r1, 0 -_0807168A: - ldrh r0, [r5] - movs r1, 0x1F - ands r1, r0 - lsls r0, 16 - lsrs r2, r0, 21 - ands r2, r7 - lsrs r3, r0, 26 - ands r3, r7 - movs r0, 0x4C - muls r1, r0 - movs r0, 0x97 - muls r0, r2 - adds r1, r0 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r3 - adds r1, r0 - asrs r1, 8 - mov r0, r9 - muls r0, r1 - lsls r0, 16 - lsrs r4, r0, 24 - mov r0, r8 - muls r0, r1 - lsls r0, 16 - lsrs r2, r0, 24 - mov r0, r12 - muls r0, r1 - lsls r0, 16 - lsrs r3, r0, 24 - cmp r4, 0x1F - ble _080716CE - movs r4, 0x1F -_080716CE: - cmp r2, 0x1F - ble _080716D4 - movs r2, 0x1F -_080716D4: - cmp r3, 0x1F - ble _080716DA - movs r3, 0x1F -_080716DA: - lsls r0, r3, 10 - lsls r1, r2, 5 - orrs r0, r1 - orrs r0, r4 - strh r0, [r5] - adds r5, 0x2 - subs r6, 0x1 - cmp r6, 0 - bne _0807168A -_080716EC: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8071660 - - thumb_func_start sub_80716F8 -sub_80716F8: @ 80716F8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r0 - adds r6, r1, 0 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 24 - lsrs r3, 24 - mov r12, r3 - cmp r3, 0 - bne _0807172C - cmp r2, 0 - beq _0807179A - adds r5, r2, 0 -_08071718: - mov r1, r9 - ldrh r0, [r1] - strh r0, [r6] - movs r7, 0x2 - add r9, r7 - adds r6, 0x2 - subs r5, 0x1 - cmp r5, 0 - bne _08071718 - b _0807179A -_0807172C: - cmp r2, 0 - beq _0807179A - movs r0, 0x1F - mov r8, r0 - adds r5, r2, 0 -_08071736: - mov r7, r9 - ldrh r1, [r7] - movs r4, 0x1F - ands r4, r1 - lsls r1, 16 - lsrs r3, r1, 21 - mov r0, r8 - ands r3, r0 - lsrs r1, 26 - ands r1, r0 - movs r0, 0x4C - adds r2, r4, 0 - muls r2, r0 - movs r0, 0x97 - muls r0, r3 - adds r2, r0 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - adds r2, r0 - asrs r2, 8 - subs r0, r2, r4 - mov r7, r12 - muls r7, r0 - adds r0, r7, 0 - lsrs r0, 4 - adds r4, r0 - subs r0, r2, r3 - mov r7, r12 - muls r7, r0 - adds r0, r7, 0 - lsrs r0, 4 - adds r3, r0 - subs r2, r1 - mov r0, r12 - muls r0, r2 - lsrs r0, 4 - adds r1, r0 - lsls r1, 10 - lsls r3, 5 - orrs r1, r3 - orrs r1, r4 - strh r1, [r6] - movs r0, 0x2 - add r9, r0 - adds r6, 0x2 - subs r5, 0x1 - cmp r5, 0 - bne _08071736 -_0807179A: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80716F8 - - thumb_func_start sub_80717A8 -sub_80717A8: @ 80717A8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r0 - adds r4, r1, 0 - ldr r0, [sp, 0x20] - ldr r1, [sp, 0x24] - ldr r5, [sp, 0x28] - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - lsls r5, 24 - lsrs r5, 24 - mov r8, r5 - ldr r0, _08071800 @ =sub_80718B8 - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _08071804 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r1 - strh r7, [r1, 0x8] - strh r6, [r1, 0xA] - lsls r4, 24 - asrs r4, 24 - cmp r4, 0 - blt _08071808 - strh r4, [r1, 0xE] - movs r0, 0x1 - b _08071810 - .align 2, 0 -_08071800: .4byte sub_80718B8 -_08071804: .4byte gTasks -_08071808: - movs r0, 0 - strh r0, [r1, 0xE] - negs r0, r4 - adds r0, 0x1 -_08071810: - strh r0, [r1, 0xC] - lsls r4, r5, 2 - cmp r6, r7 - bcs _08071828 - ldr r0, _08071858 @ =gTasks - adds r1, r4, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0xC - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1, 0xC] -_08071828: - adds r0, r5, 0 - movs r1, 0x5 - mov r2, r10 - bl SetWordTaskArg - ldr r0, _08071858 @ =gTasks - adds r1, r4, r5 - lsls r1, 3 - adds r1, r0 - mov r0, r9 - strh r0, [r1, 0x16] - mov r2, r8 - strh r2, [r1, 0x18] - ldr r1, [r1] - adds r0, r5, 0 - bl _call_via_r1 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08071858: .4byte gTasks - thumb_func_end sub_80717A8 - - thumb_func_start sub_807185C -sub_807185C: @ 807185C - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r2, 0 - ldr r4, _08071880 @ =sub_80718B8 - ldr r1, _08071884 @ =gTasks -_08071868: - ldrb r0, [r1, 0x4] - cmp r0, 0x1 - bne _08071888 - ldr r0, [r1] - cmp r0, r4 - bne _08071888 - movs r5, 0x18 - ldrsh r0, [r1, r5] - cmp r0, r3 - bne _08071888 - movs r0, 0x1 - b _08071892 - .align 2, 0 -_08071880: .4byte sub_80718B8 -_08071884: .4byte gTasks -_08071888: - adds r1, 0x28 - adds r2, 0x1 - cmp r2, 0xF - ble _08071868 - movs r0, 0 -_08071892: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_807185C - - thumb_func_start sub_8071898 -sub_8071898: @ 8071898 - push {lr} - b _080718A0 -_0807189C: - bl DestroyTask -_080718A0: - ldr r0, _080718B4 @ =sub_80718B8 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0807189C - pop {r0} - bx r0 - .align 2, 0 -_080718B4: .4byte sub_80718B8 - thumb_func_end sub_8071898 - - thumb_func_start sub_80718B8 -sub_80718B8: @ 80718B8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807190C @ =gTasks+0x8 - adds r4, r0, r1 - adds r0, r5, 0 - movs r1, 0x5 - bl GetWordTaskArg - adds r3, r0, 0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x6 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _08071930 - movs r0, 0 - strh r0, [r4, 0x8] - ldrb r1, [r4] - ldrh r2, [r4, 0xE] - adds r0, r3, 0 - bl BlendPalettes - ldrh r1, [r4] - movs r6, 0 - ldrsh r0, [r4, r6] - ldrh r3, [r4, 0x2] - movs r6, 0x2 - ldrsh r2, [r4, r6] - cmp r0, r2 - bne _08071910 - adds r0, r5, 0 - bl DestroyTask - b _08071930 - .align 2, 0 -_0807190C: .4byte gTasks+0x8 -_08071910: - ldrh r0, [r4, 0x4] - adds r1, r0 - strh r1, [r4] - lsls r0, 16 - cmp r0, 0 - blt _08071926 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r2 - blt _08071930 - b _0807192E -_08071926: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r2 - bgt _08071930 -_0807192E: - strh r3, [r4] -_08071930: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80718B8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/region_map.s b/asm/region_map.s index fd681addf..7c040f7b8 100644 --- a/asm/region_map.s +++ b/asm/region_map.s @@ -3805,7 +3805,7 @@ _080C1D24: ldrh r1, [r1] str r1, [sp] movs r1, 0x30 - bl sub_8071660 + bl TintPalette_CustomTone ldr r0, [r7] adds r0, r5 movs r1, 0xD0 diff --git a/asm/trainer_card.s b/asm/trainer_card.s index 234e19676..787a9748a 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -3283,7 +3283,7 @@ _0808AB50: movs r1, 0x60 movs r2, 0 movs r3, 0 - bl sub_8071660 + bl TintPalette_CustomTone b _0808AB88 .align 2, 0 _0808AB64: .4byte 0x00000396 @@ -3297,7 +3297,7 @@ _0808AB68: lsls r1, 1 str r1, [sp] movs r1, 0x60 - bl sub_8071660 + bl TintPalette_CustomTone b _0808AB88 _0808AB80: adds r0, r4, r5 |