diff options
Diffstat (limited to 'asm/battle_transition.s')
-rw-r--r-- | asm/battle_transition.s | 4559 |
1 files changed, 0 insertions, 4559 deletions
diff --git a/asm/battle_transition.s b/asm/battle_transition.s deleted file mode 100644 index 64b5686db..000000000 --- a/asm/battle_transition.s +++ /dev/null @@ -1,4559 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80D1F64 -sub_80D1F64: @ 80D1F64 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x4] - movs r0, 0 - mov r10, r0 - movs r1, 0xA0 - lsls r1, 17 - ldr r4, _080D1FD8 @ =gScanlineEffectRegBuffers + 0x780 - ldr r3, _080D1FDC @ =0x000003bf - movs r2, 0x78 -_080D1F8E: - asrs r0, r1, 16 - lsls r1, r0, 1 - adds r1, r4 - strh r2, [r1] - adds r0, 0x1 - lsls r1, r0, 16 - asrs r0, r1, 16 - cmp r0, r3 - ble _080D1F8E - lsls r0, r5, 16 - movs r1, 0 - mov r9, r1 - str r0, [sp, 0xC] - cmp r0, 0 - bgt _080D1FAE - b _080D221A -_080D1FAE: - mov r3, r10 - lsrs r2, r3, 3 - ldr r4, [sp] - adds r0, r2, r4 - lsls r0, 16 - lsrs r3, r0, 16 - mov r0, r10 - adds r0, 0x1 - asrs r1, r0, 3 - str r0, [sp, 0x8] - cmp r2, r1 - beq _080D1FE0 - lsls r1, r3, 16 - movs r6, 0x80 - lsls r6, 9 - adds r0, r1, r6 - lsrs r0, 16 - mov r8, r0 - adds r0, r1, 0 - b _080D1FE6 - .align 2, 0 -_080D1FD8: .4byte gScanlineEffectRegBuffers + 0x780 -_080D1FDC: .4byte 0x000003bf -_080D1FE0: - lsls r0, r3, 16 - lsrs r1, r0, 16 - mov r8, r1 -_080D1FE6: - asrs r4, r0, 16 - mov r0, r10 - adds r1, r4, 0 - bl Sin - movs r5, 0x50 - subs r0, r5, r0 - lsls r0, 16 - lsrs r2, r0, 16 - mov r0, r10 - adds r1, r4, 0 - str r2, [sp, 0x10] - bl Cos - adds r0, 0x78 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r6, [sp, 0x8] - mov r3, r8 - lsls r4, r3, 16 - asrs r4, 16 - adds r0, r6, 0 - adds r1, r4, 0 - bl Sin - subs r5, r0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r6, 0 - adds r1, r4, 0 - bl Cos - adds r0, 0x78 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, [sp, 0x10] - lsls r0, r2, 16 - asrs r1, r0, 16 - cmp r1, 0 - bge _080D203E - lsls r0, r5, 16 - cmp r0, 0 - bge _080D203E - b _080D21F8 -_080D203E: - cmp r1, 0x9F - ble _080D204C - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0x9F - ble _080D204C - b _080D21F8 -_080D204C: - cmp r1, 0 - bge _080D2052 - movs r2, 0 -_080D2052: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x9F - ble _080D205C - movs r2, 0x9F -_080D205C: - lsls r0, r7, 16 - cmp r0, 0 - bge _080D2064 - movs r7, 0 -_080D2064: - lsls r0, r7, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080D206E - movs r7, 0xFF -_080D206E: - lsls r0, r5, 16 - cmp r0, 0 - bge _080D2076 - movs r5, 0 -_080D2076: - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0x9F - ble _080D2080 - movs r5, 0x9F -_080D2080: - lsls r0, r3, 16 - cmp r0, 0 - bge _080D2088 - movs r3, 0 -_080D2088: - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080D2092 - movs r3, 0xFF -_080D2092: - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, r2, 16 - asrs r2, r1, 16 - subs r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, r10 - subs r0, 0x40 - lsls r0, 24 - adds r6, r1, 0 - cmp r0, 0 - blt _080D2158 - movs r4, 0xA0 - lsls r4, 1 - adds r0, r2, r4 - lsls r0, 1 - ldr r1, _080D20E8 @ =gScanlineEffectRegBuffers + 0x780 - adds r0, r1 - strh r7, [r0] - lsls r0, r5, 16 - adds r4, r0, 0 - cmp r4, 0 - bne _080D20C4 - b _080D21F8 -_080D20C4: - lsls r0, r3, 16 - asrs r0, 16 - lsls r1, r7, 16 - asrs r2, r1, 16 - subs r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - asrs r0, 16 - mov r8, r0 - movs r0, 0x1 - negs r0, r0 - cmp r8, r0 - bge _080D20EC - cmp r2, 0x1 - ble _080D20EC - subs r0, r2, 0x1 - b _080D20FC - .align 2, 0 -_080D20E8: .4byte gScanlineEffectRegBuffers + 0x780 -_080D20EC: - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080D2100 - asrs r0, r1, 16 - cmp r0, 0xFE - bgt _080D2100 - adds r0, 0x1 -_080D20FC: - lsls r0, 16 - lsrs r7, r0, 16 -_080D2100: - adds r0, r4, 0 - asrs r1, r0, 16 - cmp r1, 0 - bge _080D212C - asrs r2, r6, 16 - ldr r3, _080D2128 @ =gScanlineEffectRegBuffers + 0x780 -_080D210C: - asrs r1, r0, 16 - adds r0, r2, r1 - movs r4, 0xA0 - lsls r4, 1 - adds r0, r4 - lsls r0, 1 - adds r0, r3 - strh r7, [r0] - adds r1, 0x1 - lsls r0, r1, 16 - cmp r0, 0 - blt _080D210C - b _080D21F8 - .align 2, 0 -_080D2128: .4byte gScanlineEffectRegBuffers + 0x780 -_080D212C: - cmp r1, 0 - ble _080D21F8 - asrs r2, r6, 16 - ldr r3, _080D2154 @ =gScanlineEffectRegBuffers + 0x780 -_080D2134: - lsls r1, r5, 16 - asrs r1, 16 - adds r0, r2, r1 - movs r6, 0xA0 - lsls r6, 1 - adds r0, r6 - lsls r0, 1 - adds r0, r3 - strh r7, [r0] - subs r1, 0x1 - lsls r1, 16 - lsrs r5, r1, 16 - cmp r1, 0 - bgt _080D2134 - b _080D21F8 - .align 2, 0 -_080D2154: .4byte gScanlineEffectRegBuffers + 0x780 -_080D2158: - movs r1, 0xF0 - lsls r1, 1 - adds r0, r2, r1 - lsls r0, 1 - ldr r2, _080D2190 @ =gScanlineEffectRegBuffers + 0x780 - adds r0, r2 - strh r7, [r0] - lsls r0, r5, 16 - adds r4, r0, 0 - cmp r4, 0 - beq _080D21F8 - lsls r0, r3, 16 - asrs r0, 16 - lsls r1, r7, 16 - asrs r2, r1, 16 - subs r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - asrs r0, 16 - mov r8, r0 - movs r0, 0x1 - negs r0, r0 - cmp r8, r0 - bge _080D2194 - cmp r2, 0x1 - ble _080D2194 - subs r0, r2, 0x1 - b _080D21A4 - .align 2, 0 -_080D2190: .4byte gScanlineEffectRegBuffers + 0x780 -_080D2194: - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080D21A8 - asrs r0, r1, 16 - cmp r0, 0xFE - bgt _080D21A8 - adds r0, 0x1 -_080D21A4: - lsls r0, 16 - lsrs r7, r0, 16 -_080D21A8: - adds r0, r4, 0 - asrs r1, r0, 16 - cmp r1, 0 - bge _080D21D4 - asrs r2, r6, 16 - ldr r3, _080D21D0 @ =gScanlineEffectRegBuffers + 0x780 -_080D21B4: - asrs r1, r0, 16 - adds r0, r2, r1 - movs r4, 0xF0 - lsls r4, 1 - adds r0, r4 - lsls r0, 1 - adds r0, r3 - strh r7, [r0] - adds r1, 0x1 - lsls r0, r1, 16 - cmp r0, 0 - blt _080D21B4 - b _080D21F8 - .align 2, 0 -_080D21D0: .4byte gScanlineEffectRegBuffers + 0x780 -_080D21D4: - cmp r1, 0 - ble _080D21F8 - asrs r2, r6, 16 - ldr r3, _080D2270 @ =gScanlineEffectRegBuffers + 0x780 -_080D21DC: - lsls r1, r5, 16 - asrs r1, 16 - adds r0, r2, r1 - movs r6, 0xF0 - lsls r6, 1 - adds r0, r6 - lsls r0, 1 - adds r0, r3 - strh r7, [r0] - subs r1, 0x1 - lsls r1, 16 - lsrs r5, r1, 16 - cmp r1, 0 - bgt _080D21DC -_080D21F8: - mov r1, r9 - lsls r0, r1, 16 - movs r2, 0x80 - lsls r2, 9 - adds r0, r2 - ldr r3, [sp, 0x8] - lsls r1, r3, 24 - lsrs r1, 24 - mov r10, r1 - lsrs r4, r0, 16 - mov r9, r4 - asrs r0, 16 - ldr r6, [sp, 0xC] - asrs r1, r6, 12 - cmp r0, r1 - bge _080D221A - b _080D1FAE -_080D221A: - ldr r0, [sp, 0x4] - cmp r0, 0 - beq _080D222C - movs r0, 0xC0 - lsls r0, 10 - ldr r1, [sp, 0xC] - ands r0, r1 - cmp r0, 0 - bne _080D2274 -_080D222C: - movs r2, 0 - mov r9, r2 - ldr r4, _080D2270 @ =gScanlineEffectRegBuffers + 0x780 - movs r5, 0xA0 - lsls r5, 1 -_080D2236: - mov r3, r9 - lsls r1, r3, 16 - asrs r1, 16 - lsls r3, r1, 1 - ldr r6, [sp, 0x4] - adds r3, r6 - lsls r3, 1 - adds r3, r4 - adds r0, r1, r5 - lsls r0, 1 - adds r0, r4 - ldrh r2, [r0] - lsls r2, 8 - movs r6, 0xF0 - lsls r6, 1 - adds r0, r1, r6 - lsls r0, 1 - adds r0, r4 - ldrh r0, [r0] - orrs r2, r0 - strh r2, [r3] - adds r1, 0x1 - lsls r1, 16 - lsrs r0, r1, 16 - mov r9, r0 - asrs r1, 16 - cmp r1, 0x9F - ble _080D2236 - b _080D251C - .align 2, 0 -_080D2270: .4byte gScanlineEffectRegBuffers + 0x780 -_080D2274: - ldr r1, [sp, 0xC] - asrs r4, r1, 16 - lsls r0, r4, 20 - asrs r0, 16 - lsls r5, r4, 1 - ldr r2, [sp] - lsls r1, r2, 16 - asrs r1, 16 - adds r1, r5 - lsls r1, 16 - asrs r1, 16 - bl Sin - lsls r0, 16 - lsrs r2, r0, 16 - cmp r4, 0 - bge _080D2298 - adds r4, 0x3 -_080D2298: - asrs r0, r4, 2 - cmp r0, 0x1 - beq _080D234C - cmp r0, 0x1 - bgt _080D22A8 - cmp r0, 0 - beq _080D22B6 - b _080D24DA -_080D22A8: - cmp r0, 0x2 - bne _080D22AE - b _080D23CC -_080D22AE: - cmp r0, 0x3 - bne _080D22B4 - b _080D2466 -_080D22B4: - b _080D24DA -_080D22B6: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x50 - ble _080D22C0 - movs r2, 0x50 -_080D22C0: - mov r9, r2 - lsls r1, r2, 16 - cmp r1, 0 - bgt _080D22CA - b _080D24DA -_080D22CA: - ldr r0, _080D2320 @ =gUnknown_83FA444 - adds r0, r5, r0 - movs r3, 0 - ldrsh r4, [r0, r3] - ldr r6, _080D2324 @ =gScanlineEffectRegBuffers + 0x780 -_080D22D4: - ldr r0, _080D2328 @ =sTransitionStructPtr - ldr r5, [r0] - asrs r2, r1, 16 - adds r0, r2, 0 - muls r0, r4 - asrs r0, 8 - adds r0, 0x78 - lsls r1, r0, 16 - lsrs r7, r1, 16 - strh r0, [r5, 0x28] - lsls r1, r7, 16 - lsrs r0, r1, 16 - cmp r0, 0xFF - bhi _080D2334 - movs r3, 0xC8 - lsls r3, 1 - adds r0, r3, 0 - subs r0, r2 - strh r0, [r5, 0x14] - adds r0, r3, 0 - subs r0, r2 - lsls r0, 1 - adds r3, r0, r6 - ldrh r0, [r3] - strh r0, [r5, 0x38] - movs r0, 0x8C - lsls r0, 2 - subs r0, r2 - lsls r0, 1 - adds r2, r0, r6 - ldrh r0, [r2] - asrs r1, 16 - cmp r0, r1 - bge _080D232C - movs r0, 0x78 - strh r0, [r2] - b _080D2334 - .align 2, 0 -_080D2320: .4byte gUnknown_83FA444 -_080D2324: .4byte gScanlineEffectRegBuffers + 0x780 -_080D2328: .4byte sTransitionStructPtr -_080D232C: - ldrh r0, [r3] - cmp r0, r1 - bge _080D2334 - strh r7, [r3] -_080D2334: - mov r1, r9 - lsls r0, r1, 16 - ldr r2, _080D2348 @ =0xffff0000 - adds r0, r2 - lsrs r0, 16 - mov r9, r0 - lsls r1, r0, 16 - cmp r1, 0 - bgt _080D22D4 - b _080D24DA - .align 2, 0 -_080D2348: .4byte 0xffff0000 -_080D234C: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x50 - ble _080D2356 - movs r2, 0x50 -_080D2356: - mov r9, r2 - lsls r1, r2, 16 - cmp r1, 0 - bgt _080D2360 - b _080D24DA -_080D2360: - ldr r0, _080D23BC @ =gUnknown_83FA444 - adds r0, r5, r0 - movs r3, 0 - ldrsh r4, [r0, r3] - ldr r6, _080D23C0 @ =gScanlineEffectRegBuffers + 0x780 -_080D236A: - ldr r0, _080D23C4 @ =sTransitionStructPtr - ldr r3, [r0] - asrs r2, r1, 16 - adds r0, r2, 0 - muls r0, r4 - asrs r0, 8 - adds r0, 0x78 - lsls r1, r0, 16 - lsrs r7, r1, 16 - strh r0, [r3, 0x28] - lsls r5, r7, 16 - lsrs r0, r5, 16 - cmp r0, 0xFF - bhi _080D23A6 - movs r1, 0xC8 - lsls r1, 1 - adds r0, r1, 0 - subs r0, r2 - strh r0, [r3, 0x14] - adds r0, r1, 0 - subs r0, r2 - lsls r0, 1 - adds r2, r0, r6 - ldrh r0, [r2] - strh r0, [r3, 0x38] - ldrh r1, [r2] - asrs r0, r5, 16 - cmp r1, r0 - bge _080D23A6 - strh r7, [r2] -_080D23A6: - mov r2, r9 - lsls r0, r2, 16 - ldr r3, _080D23C8 @ =0xffff0000 - adds r0, r3 - lsrs r0, 16 - mov r9, r0 - lsls r1, r0, 16 - cmp r1, 0 - bgt _080D236A - b _080D24DA - .align 2, 0 -_080D23BC: .4byte gUnknown_83FA444 -_080D23C0: .4byte gScanlineEffectRegBuffers + 0x780 -_080D23C4: .4byte sTransitionStructPtr -_080D23C8: .4byte 0xffff0000 -_080D23CC: - lsls r0, r2, 16 - asrs r0, 16 - movs r1, 0x4F - negs r1, r1 - cmp r0, r1 - bge _080D23DA - ldr r2, _080D2438 @ =0x0000ffb1 -_080D23DA: - mov r9, r2 - lsls r1, r2, 16 - cmp r1, 0 - bgt _080D24DA - ldr r0, _080D243C @ =gUnknown_83FA444 - adds r0, r5, r0 - movs r6, 0 - ldrsh r4, [r0, r6] - ldr r6, _080D2440 @ =gScanlineEffectRegBuffers + 0x780 -_080D23EC: - ldr r0, _080D2444 @ =sTransitionStructPtr - ldr r5, [r0] - asrs r2, r1, 16 - adds r0, r2, 0 - muls r0, r4 - asrs r0, 8 - adds r0, 0x78 - lsls r1, r0, 16 - lsrs r7, r1, 16 - strh r0, [r5, 0x28] - lsls r1, r7, 16 - lsrs r0, r1, 16 - cmp r0, 0xFF - bhi _080D2450 - movs r3, 0x8C - lsls r3, 2 - adds r0, r3, 0 - subs r0, r2 - strh r0, [r5, 0x14] - adds r0, r3, 0 - subs r0, r2 - lsls r0, 1 - adds r3, r0, r6 - ldrh r0, [r3] - strh r0, [r5, 0x38] - movs r0, 0xC8 - lsls r0, 1 - subs r0, r2 - lsls r0, 1 - adds r2, r0, r6 - ldrh r0, [r2] - asrs r1, 16 - cmp r0, r1 - blt _080D2448 - movs r0, 0x78 - strh r0, [r2] - b _080D2450 - .align 2, 0 -_080D2438: .4byte 0x0000ffb1 -_080D243C: .4byte gUnknown_83FA444 -_080D2440: .4byte gScanlineEffectRegBuffers + 0x780 -_080D2444: .4byte sTransitionStructPtr -_080D2448: - ldrh r0, [r3] - cmp r0, r1 - ble _080D2450 - strh r7, [r3] -_080D2450: - mov r1, r9 - lsls r0, r1, 16 - movs r2, 0x80 - lsls r2, 9 - adds r0, r2 - lsrs r0, 16 - mov r9, r0 - lsls r1, r0, 16 - cmp r1, 0 - ble _080D23EC - b _080D24DA -_080D2466: - lsls r0, r2, 16 - asrs r0, 16 - movs r1, 0x4F - negs r1, r1 - cmp r0, r1 - bge _080D2474 - ldr r2, _080D252C @ =0x0000ffb1 -_080D2474: - mov r9, r2 - lsls r1, r2, 16 - cmp r1, 0 - bgt _080D24DA - ldr r0, _080D2530 @ =gUnknown_83FA444 - adds r0, r5, r0 - movs r3, 0 - ldrsh r4, [r0, r3] - ldr r6, _080D2534 @ =sTransitionStructPtr - mov r8, r6 - ldr r6, _080D2538 @ =gScanlineEffectRegBuffers + 0x780 -_080D248A: - mov r0, r8 - ldr r3, [r0] - asrs r2, r1, 16 - adds r0, r2, 0 - muls r0, r4 - asrs r0, 8 - adds r0, 0x78 - lsls r1, r0, 16 - lsrs r7, r1, 16 - strh r0, [r3, 0x28] - lsls r5, r7, 16 - lsrs r0, r5, 16 - cmp r0, 0xFF - bhi _080D24C6 - movs r1, 0x8C - lsls r1, 2 - adds r0, r1, 0 - subs r0, r2 - strh r0, [r3, 0x14] - adds r0, r1, 0 - subs r0, r2 - lsls r0, 1 - adds r2, r0, r6 - ldrh r0, [r2] - strh r0, [r3, 0x38] - ldrh r1, [r2] - asrs r0, r5, 16 - cmp r1, r0 - ble _080D24C6 - strh r7, [r2] -_080D24C6: - mov r2, r9 - lsls r0, r2, 16 - movs r3, 0x80 - lsls r3, 9 - adds r0, r3 - lsrs r0, 16 - mov r9, r0 - lsls r1, r0, 16 - cmp r1, 0 - ble _080D248A -_080D24DA: - movs r4, 0 - mov r9, r4 - ldr r4, _080D2538 @ =gScanlineEffectRegBuffers + 0x780 - movs r5, 0xA0 - lsls r5, 1 -_080D24E4: - mov r6, r9 - lsls r1, r6, 16 - asrs r1, 16 - lsls r3, r1, 1 - ldr r0, [sp, 0x4] - adds r3, r0 - lsls r3, 1 - adds r3, r4 - adds r0, r1, r5 - lsls r0, 1 - adds r0, r4 - ldrh r2, [r0] - lsls r2, 8 - movs r6, 0xF0 - lsls r6, 1 - adds r0, r1, r6 - lsls r0, 1 - adds r0, r4 - ldrh r0, [r0] - orrs r2, r0 - strh r2, [r3] - adds r1, 0x1 - lsls r1, 16 - lsrs r0, r1, 16 - mov r9, r0 - asrs r1, 16 - cmp r1, 0x9F - ble _080D24E4 -_080D251C: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D252C: .4byte 0x0000ffb1 -_080D2530: .4byte gUnknown_83FA444 -_080D2534: .4byte sTransitionStructPtr -_080D2538: .4byte gScanlineEffectRegBuffers + 0x780 - thumb_func_end sub_80D1F64 - - thumb_func_start BT_Phase2AntiClockwiseSpiral_Init -BT_Phase2AntiClockwiseSpiral_Init: @ 80D253C - push {r4,r5,lr} - adds r5, r0, 0 - bl BT_InitCtrlBlk - bl ScanlineEffect_Clear - ldr r0, _080D25A0 @ =sTransitionStructPtr - ldr r1, [r0] - movs r4, 0 - strh r4, [r1, 0x2] - movs r0, 0x3F - strh r0, [r1, 0x4] - ldr r0, _080D25A4 @ =0x00007878 - strh r0, [r1, 0x6] - ldr r0, _080D25A8 @ =0x00003070 - strh r0, [r1, 0x8] - ldr r0, _080D25AC @ =0x00001090 - strh r0, [r1, 0xC] - strh r4, [r1, 0x20] - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_80D1F64 - movs r0, 0 - movs r1, 0 - movs r2, 0x1 - bl sub_80D1F64 - ldr r1, _080D25B0 @ =0x040000d4 - ldr r0, _080D25B4 @ =gScanlineEffectRegBuffers + 0x780 - str r0, [r1] - ldr r2, _080D25B8 @ =0xfffff880 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, _080D25BC @ =0x80000140 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r0, _080D25C0 @ =VBCB_BT_Phase2AntiClockwiseBlackFade - bl SetVBlankCallback - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - strh r4, [r5, 0xA] - strh r4, [r5, 0xC] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080D25A0: .4byte sTransitionStructPtr -_080D25A4: .4byte 0x00007878 -_080D25A8: .4byte 0x00003070 -_080D25AC: .4byte 0x00001090 -_080D25B0: .4byte 0x040000d4 -_080D25B4: .4byte gScanlineEffectRegBuffers + 0x780 -_080D25B8: .4byte 0xfffff880 -_080D25BC: .4byte 0x80000140 -_080D25C0: .4byte VBCB_BT_Phase2AntiClockwiseBlackFade - thumb_func_end BT_Phase2AntiClockwiseSpiral_Init - - thumb_func_start BT_Phase2AntiClockwiseSpiral_Update -BT_Phase2AntiClockwiseSpiral_Update: @ 80D25C4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - movs r1, 0xC - ldrsh r0, [r4, r1] - movs r2, 0xA - ldrsh r1, [r4, r2] - movs r2, 0x1 - bl sub_80D1F64 - ldr r5, _080D2694 @ =sTransitionStructPtr - ldr r1, [r5] - ldrb r0, [r1] - movs r2, 0x1 - mov r8, r2 - ldrb r2, [r1] - movs r7, 0 - mov r2, r8 - orrs r0, r2 - strb r0, [r1] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x11 - bne _080D2686 - movs r1, 0xC - ldrsh r0, [r4, r1] - movs r1, 0x10 - movs r2, 0 - bl sub_80D1F64 - ldrh r1, [r4, 0xC] - movs r6, 0x30 - subs r0, r6, r1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r0, 0 - bge _080D2618 - movs r3, 0 -_080D2618: - adds r0, r1, 0 - adds r0, 0x70 - lsls r0, 16 - lsrs r2, r0, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080D2628 - movs r2, 0xFF -_080D2628: - ldr r0, [r5] - orrs r2, r3 - strh r2, [r0, 0x8] - ldrh r0, [r4, 0xC] - adds r0, 0x20 - strh r0, [r4, 0xC] - movs r0, 0 - strh r0, [r4, 0xA] - movs r2, 0xC - ldrsh r0, [r4, r2] - movs r1, 0 - movs r2, 0x1 - bl sub_80D1F64 - ldrh r1, [r4, 0xC] - subs r0, r6, r1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r0, 0 - bge _080D2652 - movs r3, 0 -_080D2652: - adds r0, r1, 0 - adds r0, 0x70 - lsls r0, 16 - lsrs r2, r0, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080D2662 - movs r2, 0xFF -_080D2662: - ldr r1, [r5] - orrs r2, r3 - strh r2, [r1, 0xC] - ldrb r0, [r1] - mov r2, r8 - orrs r0, r2 - ldrb r2, [r1] - orrs r0, r7 - strb r0, [r1] - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x9F - ble _080D2686 - ldr r1, [r5] - movs r0, 0x1 - strh r0, [r1, 0x20] - bl BT_BlendPalettesToBlack -_080D2686: - movs r0, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080D2694: .4byte sTransitionStructPtr - thumb_func_end BT_Phase2AntiClockwiseSpiral_Update - - thumb_func_start VBCB_BT_Phase2AntiClockwiseBlackFade -VBCB_BT_Phase2AntiClockwiseBlackFade: @ 80D2698 - push {r4-r6,lr} - ldr r5, _080D26D0 @ =0x040000b0 - ldrh r1, [r5, 0xA] - ldr r0, _080D26D4 @ =0x0000c5ff - ands r0, r1 - strh r0, [r5, 0xA] - ldrh r1, [r5, 0xA] - ldr r0, _080D26D8 @ =0x00007fff - ands r0, r1 - strh r0, [r5, 0xA] - ldrh r0, [r5, 0xA] - bl BT_VBSyncOamAndPltt - ldr r4, _080D26DC @ =sTransitionStructPtr - ldr r2, [r4] - movs r0, 0x20 - ldrsh r3, [r2, r0] - cmp r3, 0 - beq _080D26E4 - ldr r0, _080D26E0 @ =BT_Phase2AntiClockwiseSpiral - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - b _080D2746 - .align 2, 0 -_080D26D0: .4byte 0x040000b0 -_080D26D4: .4byte 0x0000c5ff -_080D26D8: .4byte 0x00007fff -_080D26DC: .4byte sTransitionStructPtr -_080D26E0: .4byte BT_Phase2AntiClockwiseSpiral -_080D26E4: - ldrb r0, [r2] - cmp r0, 0 - beq _080D2700 - ldr r1, _080D274C @ =0x040000d4 - ldr r0, _080D2750 @ =gScanlineEffectRegBuffers + 0x780 - str r0, [r1] - ldr r6, _080D2754 @ =0xfffff880 - adds r0, r6 - str r0, [r1, 0x4] - ldr r0, _080D2758 @ =0x80000140 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldrb r0, [r2] - strb r3, [r2] -_080D2700: - ldr r0, [r4] - ldrh r1, [r0, 0x2] - movs r0, 0x48 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x4] - movs r0, 0x4A - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x8] - movs r0, 0x44 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0xC] - movs r0, 0x46 - bl SetGpuReg - ldr r4, _080D275C @ =gScanlineEffectRegBuffers - ldrh r1, [r4] - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0x2] - movs r0, 0x42 - bl SetGpuReg - str r4, [r5] - ldr r0, _080D2760 @ =0x04000040 - str r0, [r5, 0x4] - ldr r0, _080D2764 @ =0xa6400001 - str r0, [r5, 0x8] - ldr r0, [r5, 0x8] -_080D2746: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D274C: .4byte 0x040000d4 -_080D2750: .4byte gScanlineEffectRegBuffers + 0x780 -_080D2754: .4byte 0xfffff880 -_080D2758: .4byte 0x80000140 -_080D275C: .4byte gScanlineEffectRegBuffers -_080D2760: .4byte 0x04000040 -_080D2764: .4byte 0xa6400001 - thumb_func_end VBCB_BT_Phase2AntiClockwiseBlackFade - - thumb_func_start BT_Phase2StartLoreleiMugshot -BT_Phase2StartLoreleiMugshot: @ 80D2768 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080D2784 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x26] - bl BT_Phase2Mugshot - pop {r0} - bx r0 - .align 2, 0 -_080D2784: .4byte gTasks - thumb_func_end BT_Phase2StartLoreleiMugshot - - thumb_func_start BT_Phase2StartBrunoMugshot -BT_Phase2StartBrunoMugshot: @ 80D2788 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080D27A4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x1 - strh r2, [r1, 0x26] - bl BT_Phase2Mugshot - pop {r0} - bx r0 - .align 2, 0 -_080D27A4: .4byte gTasks - thumb_func_end BT_Phase2StartBrunoMugshot - - thumb_func_start BT_Phase2StartAgathaMugshot -BT_Phase2StartAgathaMugshot: @ 80D27A8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080D27C4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x2 - strh r2, [r1, 0x26] - bl BT_Phase2Mugshot - pop {r0} - bx r0 - .align 2, 0 -_080D27C4: .4byte gTasks - thumb_func_end BT_Phase2StartAgathaMugshot - - thumb_func_start BT_Phase2StartLanceMugshot -BT_Phase2StartLanceMugshot: @ 80D27C8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080D27E4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x3 - strh r2, [r1, 0x26] - bl BT_Phase2Mugshot - pop {r0} - bx r0 - .align 2, 0 -_080D27E4: .4byte gTasks - thumb_func_end BT_Phase2StartLanceMugshot - - thumb_func_start BT_Phase2StartBlueMugshot -BT_Phase2StartBlueMugshot: @ 80D27E8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080D2804 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x4 - strh r2, [r1, 0x26] - bl BT_Phase2Mugshot - pop {r0} - bx r0 - .align 2, 0 -_080D2804: .4byte gTasks - thumb_func_end BT_Phase2StartBlueMugshot - - thumb_func_start BT_Phase2Mugshot -BT_Phase2Mugshot: @ 80D2808 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080D2838 @ =sBT_Phase2MugshotFuncs - ldr r2, _080D283C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080D281A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080D281A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D2838: .4byte sBT_Phase2MugshotFuncs -_080D283C: .4byte gTasks - thumb_func_end BT_Phase2Mugshot - - thumb_func_start BT_Phase2Mugshot_Init -BT_Phase2Mugshot_Init: @ 80D2840 - push {r4,lr} - adds r4, r0, 0 - bl BT_InitCtrlBlk - bl ScanlineEffect_Clear - adds r0, r4, 0 - bl BT_Phase2Mugshots_CreateSprites - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x1 - strh r0, [r4, 0xC] - movs r0, 0xEF - strh r0, [r4, 0xE] - ldr r0, _080D2898 @ =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0x3F - strh r0, [r1, 0x2] - movs r0, 0x3E - strh r0, [r1, 0x4] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r3, _080D289C @ =gScanlineEffectRegBuffers + 0x780 - ldr r2, _080D28A0 @ =0x0000f0f1 -_080D2874: - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9F - bls _080D2874 - ldr r0, _080D28A4 @ =VBCB_BT_Phase2Mugshot1_Slide - bl SetVBlankCallback - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080D2898: .4byte sTransitionStructPtr -_080D289C: .4byte gScanlineEffectRegBuffers + 0x780 -_080D28A0: .4byte 0x0000f0f1 -_080D28A4: .4byte VBCB_BT_Phase2Mugshot1_Slide - thumb_func_end BT_Phase2Mugshot_Init - - thumb_func_start BT_Phase2Mugshot_LoadGfx -BT_Phase2Mugshot_LoadGfx: @ 80D28A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - mov r8, r0 - ldr r6, _080D2950 @ =sVsBarTilemap - add r1, sp, 0x4 - mov r0, sp - bl BT_GetBg0TilemapAndTilesetBase - ldr r0, _080D2954 @ =sVsBarTileset - ldr r1, [sp, 0x4] - movs r2, 0xF0 - bl CpuSet - ldr r1, _080D2958 @ =sVsBarOpponentPalettes - mov r2, r8 - movs r3, 0x26 - ldrsh r0, [r2, r3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r1, _080D295C @ =sVsBarPlayerPalettes - ldr r0, _080D2960 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0xFA - movs r2, 0xC - bl LoadPalette - movs r1, 0 - ldr r5, [sp] - movs r0, 0xF0 - lsls r0, 8 - adds r7, r0, 0 -_080D28FC: - movs r0, 0 - lsls r3, r1, 16 - asrs r4, r3, 11 -_080D2902: - lsls r2, r0, 16 - asrs r2, 16 - adds r1, r4, r2 - lsls r1, 1 - adds r1, r5 - ldrh r0, [r6] - orrs r0, r7 - strh r0, [r1] - adds r2, 0x1 - lsls r2, 16 - adds r6, 0x2 - lsrs r0, r2, 16 - asrs r2, 16 - cmp r2, 0x1F - ble _080D2902 - movs r1, 0x80 - lsls r1, 9 - adds r0, r3, r1 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080D28FC - movs r0, 0x2 - bl EnableInterrupts - ldr r0, _080D2964 @ =HBCB_BT_Phase2Mugshot - bl SetHBlankCallback - mov r2, r8 - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - movs r0, 0 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080D2950: .4byte sVsBarTilemap -_080D2954: .4byte sVsBarTileset -_080D2958: .4byte sVsBarOpponentPalettes -_080D295C: .4byte sVsBarPlayerPalettes -_080D2960: .4byte gSaveBlock2Ptr -_080D2964: .4byte HBCB_BT_Phase2Mugshot - thumb_func_end BT_Phase2Mugshot_LoadGfx - - thumb_func_start BT_Phase2Mugshot_VsBarsSlideIn -BT_Phase2Mugshot_VsBarsSlideIn: @ 80D2968 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r0, _080D2A4C @ =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r7, _080D2A50 @ =gScanlineEffectRegBuffers - ldrh r0, [r4, 0xA] - ldrb r5, [r4, 0xA] - adds r0, 0x10 - strh r0, [r4, 0xA] - movs r6, 0 -_080D2982: - adds r0, r5, 0 - movs r1, 0x10 - bl Sin - ldrh r1, [r4, 0xC] - adds r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r0, 0 - bge _080D2998 - movs r2, 0x1 -_080D2998: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0xF0 - ble _080D29A2 - movs r2, 0xF0 -_080D29A2: - strh r2, [r7] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r7, 0x2 - adds r0, r5, 0 - adds r0, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r6, 0x4F - bls _080D2982 - cmp r6, 0x9F - bhi _080D29FA -_080D29BC: - adds r0, r5, 0 - movs r1, 0x10 - bl Sin - ldrh r1, [r4, 0xE] - subs r1, r0 - lsls r1, 16 - lsrs r2, r1, 16 - cmp r1, 0 - bge _080D29D2 - movs r2, 0 -_080D29D2: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0xEF - ble _080D29DC - movs r2, 0xEF -_080D29DC: - lsls r0, r2, 16 - asrs r0, 8 - movs r1, 0xF0 - orrs r0, r1 - strh r0, [r7] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r7, 0x2 - adds r0, r5, 0 - adds r0, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r6, 0x9F - bls _080D29BC -_080D29FA: - ldrh r1, [r4, 0xC] - adds r1, 0x8 - strh r1, [r4, 0xC] - ldrh r0, [r4, 0xE] - subs r0, 0x8 - strh r0, [r4, 0xE] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xF0 - ble _080D2A12 - movs r0, 0xF0 - strh r0, [r4, 0xC] -_080D2A12: - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _080D2A1E - movs r0, 0 - strh r0, [r4, 0xE] -_080D2A1E: - ldr r0, [r4, 0xC] - cmp r0, 0xF0 - bne _080D2A2A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080D2A2A: - ldr r0, _080D2A4C @ =sTransitionStructPtr - ldr r1, [r0] - ldrh r0, [r1, 0x18] - subs r0, 0x8 - strh r0, [r1, 0x18] - ldrh r0, [r1, 0x1A] - adds r0, 0x8 - strh r0, [r1, 0x1A] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080D2A4C: .4byte sTransitionStructPtr -_080D2A50: .4byte gScanlineEffectRegBuffers - thumb_func_end BT_Phase2Mugshot_VsBarsSlideIn - - thumb_func_start BT_Phase2Mugshot_StartSpriteSlide -BT_Phase2Mugshot_StartSpriteSlide: @ 80D2A54 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r2, _080D2AC8 @ =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r1, _080D2ACC @ =gScanlineEffectRegBuffers - adds r5, r2, 0 - movs r2, 0xF0 -_080D2A68: - strh r2, [r1] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - adds r1, 0x2 - cmp r0, 0x9F - bls _080D2A68 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x8] - strh r1, [r4, 0xA] - strh r1, [r4, 0xC] - strh r1, [r4, 0xE] - ldr r1, [r5] - ldrh r0, [r1, 0x18] - subs r0, 0x8 - strh r0, [r1, 0x18] - ldrh r0, [r1, 0x1A] - adds r0, 0x8 - strh r0, [r1, 0x1A] - movs r1, 0x22 - ldrsh r0, [r4, r1] - movs r1, 0 - bl BT_SetSpriteAsOpponentOrPlayer - movs r1, 0x24 - ldrsh r0, [r4, r1] - movs r1, 0x1 - bl BT_SetSpriteAsOpponentOrPlayer - movs r1, 0x22 - ldrsh r0, [r4, r1] - bl BT_StartSpriteSlide - movs r0, 0x61 - bl PlaySE - ldr r1, [r5] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080D2AC8: .4byte sTransitionStructPtr -_080D2ACC: .4byte gScanlineEffectRegBuffers - thumb_func_end BT_Phase2Mugshot_StartSpriteSlide - - thumb_func_start BT_Phase2Mugshot_WaitForOpponentInPlace -BT_Phase2Mugshot_WaitForOpponentInPlace: @ 80D2AD0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080D2B08 @ =sTransitionStructPtr - ldr r1, [r0] - ldrh r0, [r1, 0x18] - subs r0, 0x8 - strh r0, [r1, 0x18] - ldrh r0, [r1, 0x1A] - adds r0, 0x8 - strh r0, [r1, 0x1A] - movs r1, 0x22 - ldrsh r0, [r4, r1] - bl BT_IsSpriteSlideFinished - lsls r0, 16 - cmp r0, 0 - beq _080D2B00 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r1, 0x24 - ldrsh r0, [r4, r1] - bl BT_StartSpriteSlide -_080D2B00: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080D2B08: .4byte sTransitionStructPtr - thumb_func_end BT_Phase2Mugshot_WaitForOpponentInPlace - - thumb_func_start BT_Phase2Mugshot_WaitForPlayerInPlace -BT_Phase2Mugshot_WaitForPlayerInPlace: @ 80D2B0C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldr r7, _080D2BAC @ =sTransitionStructPtr - ldr r1, [r7] - ldrh r0, [r1, 0x18] - subs r0, 0x8 - movs r2, 0 - mov r8, r2 - strh r0, [r1, 0x18] - ldrh r0, [r1, 0x1A] - adds r0, 0x8 - strh r0, [r1, 0x1A] - movs r1, 0x24 - ldrsh r0, [r6, r1] - bl BT_IsSpriteSlideFinished - lsls r0, 16 - cmp r0, 0 - beq _080D2BA0 - ldr r1, [r7] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - movs r0, 0 - bl SetVBlankCallback - ldr r1, _080D2BB0 @ =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, _080D2BB4 @ =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, _080D2BB8 @ =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldr r4, _080D2BBC @ =gScanlineEffectRegBuffers - movs r5, 0xA0 - lsls r5, 1 - adds r0, r4, 0 - movs r1, 0 - adds r2, r5, 0 - bl memset - movs r2, 0xF0 - lsls r2, 3 - adds r4, r2 - adds r0, r4, 0 - movs r1, 0 - adds r2, r5, 0 - bl memset - movs r0, 0x40 - movs r1, 0xF0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - mov r0, r8 - strh r0, [r6, 0xE] - strh r0, [r6, 0x10] - ldr r1, [r7] - movs r0, 0xBF - strh r0, [r1, 0xE] - ldr r0, _080D2BC0 @ =VBCB_BT_Phase2Mugshot2_WhiteFade - bl SetVBlankCallback -_080D2BA0: - movs r0, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080D2BAC: .4byte sTransitionStructPtr -_080D2BB0: .4byte 0x040000b0 -_080D2BB4: .4byte 0x0000c5ff -_080D2BB8: .4byte 0x00007fff -_080D2BBC: .4byte gScanlineEffectRegBuffers -_080D2BC0: .4byte VBCB_BT_Phase2Mugshot2_WhiteFade - thumb_func_end BT_Phase2Mugshot_WaitForPlayerInPlace - - thumb_func_start BT_Phase2Mugshot_ExpandWhiteBand -BT_Phase2Mugshot_ExpandWhiteBand: @ 80D2BC4 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r2, _080D2C84 @ =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - movs r6, 0x1 - ldr r1, [r2] - ldrh r0, [r1, 0x18] - subs r0, 0x8 - strh r0, [r1, 0x18] - ldrh r0, [r1, 0x1A] - adds r0, 0x8 - strh r0, [r1, 0x1A] - ldrh r1, [r4, 0x10] - movs r3, 0x10 - ldrsh r0, [r4, r3] - mov r12, r2 - cmp r0, 0x4F - bgt _080D2BF2 - adds r0, r1, 0x2 - strh r0, [r4, 0x10] -_080D2BF2: - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0x50 - ble _080D2BFE - movs r0, 0x50 - strh r0, [r4, 0x10] -_080D2BFE: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - movs r1, 0x1 - ands r0, r1 - ldrh r3, [r4, 0x10] - cmp r0, 0 - beq _080D2C60 - movs r2, 0 - lsls r0, r3, 16 - movs r6, 0 - cmp r0, 0 - blt _080D2C60 - movs r7, 0x50 - ldr r5, _080D2C88 @ =gScanlineEffectRegBuffers -_080D2C1C: - lsls r0, r2, 16 - asrs r3, r0, 16 - subs r1, r7, r3 - adds r0, r3, 0 - adds r0, 0x50 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 16 - asrs r1, 15 - adds r1, r5 - ldrh r0, [r1] - cmp r0, 0xF - bhi _080D2C3C - movs r6, 0x1 - adds r0, 0x1 - strh r0, [r1] -_080D2C3C: - lsls r0, r2, 16 - asrs r0, 15 - adds r1, r0, r5 - ldrh r0, [r1] - cmp r0, 0xF - bhi _080D2C4E - movs r6, 0x1 - adds r0, 0x1 - strh r0, [r1] -_080D2C4E: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - asrs r0, 16 - movs r3, 0x10 - ldrsh r1, [r4, r3] - ldrh r3, [r4, 0x10] - cmp r0, r1 - ble _080D2C1C -_080D2C60: - cmp r3, 0x50 - bne _080D2C6E - cmp r6, 0 - bne _080D2C6E - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080D2C6E: - mov r1, r12 - ldr r0, [r1] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080D2C84: .4byte sTransitionStructPtr -_080D2C88: .4byte gScanlineEffectRegBuffers - thumb_func_end BT_Phase2Mugshot_ExpandWhiteBand - - thumb_func_start BT_Phase2Mugshot_StartBlackFade -BT_Phase2Mugshot_StartBlackFade: @ 80D2C8C - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, _080D2CBC @ =sTransitionStructPtr - ldr r0, [r5] - ldrb r1, [r0] - movs r6, 0 - strb r6, [r0] - movs r0, 0x1 - negs r0, r0 - ldr r2, _080D2CC0 @ =0x00007fff - movs r1, 0x10 - bl BlendPalettes - ldr r1, [r5] - movs r0, 0xFF - strh r0, [r1, 0xE] - strh r6, [r4, 0xE] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080D2CBC: .4byte sTransitionStructPtr -_080D2CC0: .4byte 0x00007fff - thumb_func_end BT_Phase2Mugshot_StartBlackFade - - thumb_func_start BT_Phase2Mugshot_WaitForBlackFade -BT_Phase2Mugshot_WaitForBlackFade: @ 80D2CC4 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080D2D08 @ =sTransitionStructPtr - ldr r1, [r5] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - ldr r0, _080D2D0C @ =gScanlineEffectRegBuffers - movs r2, 0xE - ldrsh r1, [r4, r2] - movs r2, 0xA0 - lsls r2, 1 - bl memset - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0xF - ble _080D2CF4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080D2CF4: - ldr r0, [r5] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080D2D08: .4byte sTransitionStructPtr -_080D2D0C: .4byte gScanlineEffectRegBuffers - thumb_func_end BT_Phase2Mugshot_WaitForBlackFade - - thumb_func_start BT_Phase2Mugshot_End -BT_Phase2Mugshot_End: @ 80D2D10 - push {r4,lr} - adds r4, r0, 0 - ldr r1, _080D2D44 @ =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, _080D2D48 @ =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, _080D2D4C @ =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl BT_BlendPalettesToBlack - ldr r0, [r4] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080D2D44: .4byte 0x040000b0 -_080D2D48: .4byte 0x0000c5ff -_080D2D4C: .4byte 0x00007fff - thumb_func_end BT_Phase2Mugshot_End - - thumb_func_start VBCB_BT_Phase2Mugshot1_Slide -VBCB_BT_Phase2Mugshot1_Slide: @ 80D2D50 - push {r4,r5,lr} - ldr r4, _080D2DC4 @ =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, _080D2DC8 @ =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, _080D2DCC @ =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl BT_VBSyncOamAndPltt - ldr r5, _080D2DD0 @ =sTransitionStructPtr - ldr r0, [r5] - ldrb r0, [r0] - cmp r0, 0 - beq _080D2D88 - ldr r1, _080D2DD4 @ =0x040000d4 - ldr r0, _080D2DD8 @ =gScanlineEffectRegBuffers - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, _080D2DDC @ =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_080D2D88: - ldr r0, [r5] - ldrh r1, [r0, 0x1C] - movs r0, 0x12 - bl SetGpuReg - ldr r0, [r5] - ldrh r1, [r0, 0x2] - movs r0, 0x48 - bl SetGpuReg - ldr r0, [r5] - ldrh r1, [r0, 0x4] - movs r0, 0x4A - bl SetGpuReg - ldr r0, [r5] - ldrh r1, [r0, 0x8] - movs r0, 0x44 - bl SetGpuReg - ldr r0, _080D2DE0 @ =gScanlineEffectRegBuffers + 0x780 - str r0, [r4] - ldr r0, _080D2DE4 @ =0x04000040 - str r0, [r4, 0x4] - ldr r0, _080D2DE8 @ =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D2DC4: .4byte 0x040000b0 -_080D2DC8: .4byte 0x0000c5ff -_080D2DCC: .4byte 0x00007fff -_080D2DD0: .4byte sTransitionStructPtr -_080D2DD4: .4byte 0x040000d4 -_080D2DD8: .4byte gScanlineEffectRegBuffers -_080D2DDC: .4byte 0x800000a0 -_080D2DE0: .4byte gScanlineEffectRegBuffers + 0x780 -_080D2DE4: .4byte 0x04000040 -_080D2DE8: .4byte 0xa2400001 - thumb_func_end VBCB_BT_Phase2Mugshot1_Slide - - thumb_func_start VBCB_BT_Phase2Mugshot2_WhiteFade -VBCB_BT_Phase2Mugshot2_WhiteFade: @ 80D2DEC - push {r4,lr} - ldr r4, _080D2E44 @ =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, _080D2E48 @ =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, _080D2E4C @ =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl BT_VBSyncOamAndPltt - ldr r2, _080D2E50 @ =sTransitionStructPtr - ldr r0, [r2] - ldrb r0, [r0] - cmp r0, 0 - beq _080D2E24 - ldr r1, _080D2E54 @ =0x040000d4 - ldr r0, _080D2E58 @ =gScanlineEffectRegBuffers - str r0, [r1] - movs r3, 0xF0 - lsls r3, 3 - adds r0, r3 - str r0, [r1, 0x4] - ldr r0, _080D2E5C @ =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_080D2E24: - ldr r0, [r2] - ldrh r1, [r0, 0xE] - movs r0, 0x50 - bl SetGpuReg - ldr r0, _080D2E60 @ =gScanlineEffectRegBuffers + 0x780 - str r0, [r4] - ldr r0, _080D2E64 @ =0x04000054 - str r0, [r4, 0x4] - ldr r0, _080D2E68 @ =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D2E44: .4byte 0x040000b0 -_080D2E48: .4byte 0x0000c5ff -_080D2E4C: .4byte 0x00007fff -_080D2E50: .4byte sTransitionStructPtr -_080D2E54: .4byte 0x040000d4 -_080D2E58: .4byte gScanlineEffectRegBuffers -_080D2E5C: .4byte 0x800000a0 -_080D2E60: .4byte gScanlineEffectRegBuffers + 0x780 -_080D2E64: .4byte 0x04000054 -_080D2E68: .4byte 0xa2400001 - thumb_func_end VBCB_BT_Phase2Mugshot2_WhiteFade - - thumb_func_start HBCB_BT_Phase2Mugshot -HBCB_BT_Phase2Mugshot: @ 80D2E6C - push {lr} - ldr r0, _080D2E80 @ =0x04000006 - ldrh r0, [r0] - cmp r0, 0x4F - bhi _080D2E8C - ldr r1, _080D2E84 @ =0x04000010 - ldr r0, _080D2E88 @ =sTransitionStructPtr - ldr r0, [r0] - ldrh r0, [r0, 0x18] - b _080D2E94 - .align 2, 0 -_080D2E80: .4byte 0x04000006 -_080D2E84: .4byte 0x04000010 -_080D2E88: .4byte sTransitionStructPtr -_080D2E8C: - ldr r1, _080D2E9C @ =0x04000010 - ldr r0, _080D2EA0 @ =sTransitionStructPtr - ldr r0, [r0] - ldrh r0, [r0, 0x1A] -_080D2E94: - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080D2E9C: .4byte 0x04000010 -_080D2EA0: .4byte sTransitionStructPtr - thumb_func_end HBCB_BT_Phase2Mugshot - - thumb_func_start BT_Phase2Mugshots_CreateSprites -BT_Phase2Mugshots_CreateSprites: @ 80D2EA4 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r4, r0, 0 - ldr r6, _080D2FF8 @ =gReservedSpritePaletteCount - movs r0, 0xA - strb r0, [r6] - ldr r0, _080D2FFC @ =sMugshotsTrainerPicIDsTable - movs r2, 0x26 - ldrsh r1, [r4, r2] - mov r9, r1 - add r0, r9 - ldrb r0, [r0] - ldr r2, _080D3000 @ =sMugshotsOpponentCoords - lsls r1, 2 - mov r9, r1 - adds r1, r2 - ldrh r1, [r1] - subs r1, 0x20 - lsls r1, 16 - asrs r1, 16 - adds r2, 0x2 - add r2, r9 - ldrh r2, [r2] - adds r2, 0x2A - lsls r2, 16 - asrs r2, 16 - ldr r5, _080D3004 @ =gDecompressionBuffer - str r5, [sp] - movs r3, 0 - bl CreateTrainerSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r0, _080D3008 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - movs r1, 0x1 - bl PlayerGenderToFrontTrainerPicId_Debug - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x88 - lsls r1, 1 - str r5, [sp] - movs r2, 0x6A - movs r3, 0 - bl CreateTrainerSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x24] - movs r0, 0xC - strb r0, [r6] - movs r3, 0x22 - ldrsh r0, [r4, r3] - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r1, _080D300C @ =gSprites - adds r5, r1 - movs r2, 0x24 - ldrsh r0, [r4, r2] - lsls r6, r0, 4 - adds r6, r0 - lsls r6, 2 - adds r6, r1 - ldr r0, _080D3010 @ =SpriteCB_BT_Phase2Mugshots - str r0, [r5, 0x1C] - str r0, [r6, 0x1C] - ldrb r0, [r5, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r5, 0x1] - ldrb r0, [r6, 0x1] - orrs r0, r1 - strb r0, [r6, 0x1] - bl AllocOamMatrix - lsls r0, 24 - lsrs r0, 24 - movs r3, 0x1F - mov r8, r3 - mov r4, r8 - ands r0, r4 - lsls r0, 1 - ldrb r2, [r5, 0x3] - movs r4, 0x3F - negs r4, r4 - adds r1, r4, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x3] - bl AllocOamMatrix - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - ands r0, r1 - lsls r0, 1 - ldrb r1, [r6, 0x3] - ands r4, r1 - orrs r4, r0 - strb r4, [r6, 0x3] - ldrb r2, [r5, 0x1] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x40 - orrs r0, r2 - strb r0, [r5, 0x1] - ldrb r0, [r6, 0x1] - ands r1, r0 - orrs r1, r2 - strb r1, [r6, 0x1] - ldrb r0, [r5, 0x3] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r5, 0x3] - ldrb r0, [r6, 0x3] - orrs r0, r1 - strb r0, [r6, 0x3] - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - adds r0, r6, 0 - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - ldrb r0, [r5, 0x3] - lsls r0, 26 - lsrs r0, 27 - ldr r2, _080D3014 @ =sMugshotsOpponentRotationScales - mov r3, r9 - adds r1, r3, r2 - movs r4, 0 - ldrsh r1, [r1, r4] - adds r2, 0x2 - add r9, r2 - mov r3, r9 - movs r4, 0 - ldrsh r2, [r3, r4] - movs r3, 0 - bl SetOamMatrixRotationScaling - ldrb r0, [r6, 0x3] - lsls r0, 26 - lsrs r0, 27 - ldr r1, _080D3018 @ =0xfffffe00 - movs r2, 0x80 - lsls r2, 2 - movs r3, 0 - bl SetOamMatrixRotationScaling - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D2FF8: .4byte gReservedSpritePaletteCount -_080D2FFC: .4byte sMugshotsTrainerPicIDsTable -_080D3000: .4byte sMugshotsOpponentCoords -_080D3004: .4byte gDecompressionBuffer -_080D3008: .4byte gSaveBlock2Ptr -_080D300C: .4byte gSprites -_080D3010: .4byte SpriteCB_BT_Phase2Mugshots -_080D3014: .4byte sMugshotsOpponentRotationScales -_080D3018: .4byte 0xfffffe00 - thumb_func_end BT_Phase2Mugshots_CreateSprites - - thumb_func_start SpriteCB_BT_Phase2Mugshots -SpriteCB_BT_Phase2Mugshots: @ 80D301C - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080D3040 @ =sBT_Phase2MugshotSpriteFuncs -_080D3022: - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080D3022 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D3040: .4byte sBT_Phase2MugshotSpriteFuncs - thumb_func_end SpriteCB_BT_Phase2Mugshots - - thumb_func_start BT_Phase2MugshotsSpriteFuncs_Wait -BT_Phase2MugshotsSpriteFuncs_Wait: @ 80D3044 - movs r0, 0 - bx lr - thumb_func_end BT_Phase2MugshotsSpriteFuncs_Wait - - thumb_func_start BT_Phase2MugshotsSpriteFuncs_InitParams -BT_Phase2MugshotsSpriteFuncs_InitParams: @ 80D3048 - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - ldr r1, _080D308C @ =sMugShotSlideVelocity - mov r0, sp - movs r2, 0x4 - bl memcpy - add r4, sp, 0x4 - ldr r1, _080D3090 @ =sMugShotSlideDeceleration - adds r0, r4, 0 - movs r2, 0x4 - bl memcpy - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - movs r1, 0x3C - ldrsh r0, [r5, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x30] - movs r1, 0x3C - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r4, r0 - ldrh r0, [r4] - strh r0, [r5, 0x32] - movs r0, 0x1 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080D308C: .4byte sMugShotSlideVelocity -_080D3090: .4byte sMugShotSlideDeceleration - thumb_func_end BT_Phase2MugshotsSpriteFuncs_InitParams - - thumb_func_start BT_Phase2MugshotsSpriteFuncs_SlideSpriteIn -BT_Phase2MugshotsSpriteFuncs_SlideSpriteIn: @ 80D3094 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - ldrh r3, [r1, 0x20] - adds r2, r0, r3 - strh r2, [r1, 0x20] - movs r3, 0x3C - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080D30B2 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x84 - bgt _080D30C0 - b _080D30BA -_080D30B2: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x67 - ble _080D30C0 -_080D30BA: - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] -_080D30C0: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end BT_Phase2MugshotsSpriteFuncs_SlideSpriteIn - - thumb_func_start BT_Phase2MugshotsSpriteFuncs_DecelerateSprite -BT_Phase2MugshotsSpriteFuncs_DecelerateSprite: @ 80D30C8 - push {lr} - adds r2, r0, 0 - ldrh r3, [r2, 0x32] - ldrh r0, [r2, 0x30] - adds r1, r3, r0 - strh r1, [r2, 0x30] - ldrh r0, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - lsls r1, 16 - cmp r1, 0 - bne _080D30EE - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - negs r0, r3 - strh r0, [r2, 0x32] - movs r0, 0x1 - strh r0, [r2, 0x3A] -_080D30EE: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end BT_Phase2MugshotsSpriteFuncs_DecelerateSprite - - thumb_func_start BT_Phase2MugshotsSpriteFuncs_DecelerateSprite2 -BT_Phase2MugshotsSpriteFuncs_DecelerateSprite2: @ 80D30F4 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x30] - adds r0, r1 - strh r0, [r2, 0x30] - ldrh r1, [r2, 0x20] - adds r1, r0 - strh r1, [r2, 0x20] - adds r1, 0x1F - lsls r1, 16 - movs r0, 0x97 - lsls r0, 17 - cmp r1, r0 - bls _080D3118 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] -_080D3118: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end BT_Phase2MugshotsSpriteFuncs_DecelerateSprite2 - - thumb_func_start BT_SetSpriteAsOpponentOrPlayer -BT_SetSpriteAsOpponentOrPlayer: @ 80D3120 - ldr r3, _080D3134 @ =gSprites - lsls r0, 16 - asrs r0, 16 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - strh r1, [r2, 0x3C] - bx lr - .align 2, 0 -_080D3134: .4byte gSprites - thumb_func_end BT_SetSpriteAsOpponentOrPlayer - - thumb_func_start BT_StartSpriteSlide -BT_StartSpriteSlide: @ 80D3138 - ldr r2, _080D3150 @ =gSprites - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - bx lr - .align 2, 0 -_080D3150: .4byte gSprites - thumb_func_end BT_StartSpriteSlide - - thumb_func_start BT_IsSpriteSlideFinished -BT_IsSpriteSlideFinished: @ 80D3154 - ldr r2, _080D3168 @ =gSprites - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r2, 0x3A - ldrsh r0, [r1, r2] - bx lr - .align 2, 0 -_080D3168: .4byte gSprites - thumb_func_end BT_IsSpriteSlideFinished - - thumb_func_start BT_Phase2SlicedScreen -BT_Phase2SlicedScreen: @ 80D316C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080D319C @ =sBT_Phase2SlicedScreenFuncs - ldr r2, _080D31A0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080D317E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080D317E - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D319C: .4byte sBT_Phase2SlicedScreenFuncs -_080D31A0: .4byte gTasks - thumb_func_end BT_Phase2SlicedScreen - - thumb_func_start BT_Phase2SlicedScreen_Init -BT_Phase2SlicedScreen_Init: @ 80D31A4 - push {r4-r6,lr} - adds r5, r0, 0 - bl BT_InitCtrlBlk - bl ScanlineEffect_Clear - movs r3, 0 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r5, 0xC] - movs r0, 0x1 - strh r0, [r5, 0xE] - ldr r2, _080D3210 @ =sTransitionStructPtr - ldr r1, [r2] - movs r0, 0x3F - strh r0, [r1, 0x2] - strh r3, [r1, 0x4] - movs r0, 0xA0 - strh r0, [r1, 0x8] - ldr r4, _080D3214 @ =gScanlineEffectRegBuffers + 0x780 - adds r6, r2, 0 - movs r2, 0xF0 -_080D31D0: - lsls r1, r3, 1 - adds r1, r4 - ldr r0, [r6] - ldrh r0, [r0, 0x14] - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0xA0 - lsls r0, 1 - adds r0, r4 - strh r2, [r0] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x9F - bls _080D31D0 - movs r0, 0x2 - bl EnableInterrupts - ldr r0, _080D3218 @ =VBCB_BT_Phase2SlicedScreen - bl SetVBlankCallback - ldr r0, _080D321C @ =HBCB_BT_Phase2SlicedScreen - bl SetHBlankCallback - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080D3210: .4byte sTransitionStructPtr -_080D3214: .4byte gScanlineEffectRegBuffers + 0x780 -_080D3218: .4byte VBCB_BT_Phase2SlicedScreen -_080D321C: .4byte HBCB_BT_Phase2SlicedScreen - thumb_func_end BT_Phase2SlicedScreen_Init - - thumb_func_start BT_Phase2SlicedScreen_UpdateOffsets -BT_Phase2SlicedScreen_UpdateOffsets: @ 80D3220 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r3, r0, 0 - ldr r2, _080D329C @ =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r0, [r3, 0xC] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r3, 0xA] - adds r0, r1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - mov r8, r2 - cmp r0, 0xF0 - ble _080D324C - movs r0, 0xF0 - strh r0, [r3, 0xA] -_080D324C: - ldrh r4, [r3, 0xC] - movs r0, 0xC - ldrsh r1, [r3, r0] - ldr r0, _080D32A0 @ =0x00000fff - ldrh r2, [r3, 0xE] - cmp r1, r0 - bgt _080D325E - adds r0, r4, r2 - strh r0, [r3, 0xC] -_080D325E: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x7F - bgt _080D326A - lsls r0, r2, 1 - strh r0, [r3, 0xE] -_080D326A: - movs r5, 0 - ldr r7, _080D32A4 @ =gScanlineEffectRegBuffers - movs r1, 0xA0 - lsls r1, 1 - adds r1, r7 - mov r12, r1 - mov r6, r8 -_080D3278: - lsls r0, r5, 1 - adds r2, r0, r7 - mov r1, r12 - adds r4, r0, r1 - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _080D32A8 - ldr r1, [r6] - ldrh r0, [r3, 0xA] - ldrh r1, [r1, 0x14] - adds r0, r1 - strh r0, [r2] - ldrh r1, [r3, 0xA] - movs r0, 0xF0 - subs r0, r1 - b _080D32BA - .align 2, 0 -_080D329C: .4byte sTransitionStructPtr -_080D32A0: .4byte 0x00000fff -_080D32A4: .4byte gScanlineEffectRegBuffers -_080D32A8: - ldr r0, [r6] - ldrh r0, [r0, 0x14] - ldrh r1, [r3, 0xA] - subs r0, r1 - strh r0, [r2] - ldrh r0, [r3, 0xA] - lsls r0, 8 - movs r1, 0xF1 - orrs r0, r1 -_080D32BA: - strh r0, [r4] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x9F - bls _080D3278 - movs r1, 0xA - ldrsh r0, [r3, r1] - cmp r0, 0xEF - ble _080D32D4 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_080D32D4: - mov r1, r8 - ldr r0, [r1] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end BT_Phase2SlicedScreen_UpdateOffsets - - thumb_func_start BT_Phase2SlicedScreen_End -BT_Phase2SlicedScreen_End: @ 80D32EC - push {lr} - ldr r1, _080D331C @ =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, _080D3320 @ =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, _080D3324 @ =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl BT_BlendPalettesToBlack - ldr r0, _080D3328 @ =BT_Phase2SlicedScreen - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080D331C: .4byte 0x040000b0 -_080D3320: .4byte 0x0000c5ff -_080D3324: .4byte 0x00007fff -_080D3328: .4byte BT_Phase2SlicedScreen - thumb_func_end BT_Phase2SlicedScreen_End - - thumb_func_start VBCB_BT_Phase2SlicedScreen -VBCB_BT_Phase2SlicedScreen: @ 80D332C - push {r4,r5,lr} - ldr r5, _080D3398 @ =0x040000b0 - ldrh r1, [r5, 0xA] - ldr r0, _080D339C @ =0x0000c5ff - ands r0, r1 - strh r0, [r5, 0xA] - ldrh r1, [r5, 0xA] - ldr r0, _080D33A0 @ =0x00007fff - ands r0, r1 - strh r0, [r5, 0xA] - ldrh r0, [r5, 0xA] - bl BT_VBSyncOamAndPltt - ldr r4, _080D33A4 @ =sTransitionStructPtr - ldr r0, [r4] - ldrh r1, [r0, 0x2] - movs r0, 0x48 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x4] - movs r0, 0x4A - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x8] - movs r0, 0x44 - bl SetGpuReg - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _080D3382 - ldr r1, _080D33A8 @ =0x040000d4 - ldr r0, _080D33AC @ =gScanlineEffectRegBuffers - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, _080D33B0 @ =0x80000140 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_080D3382: - ldr r0, _080D33B4 @ =gScanlineEffectRegBuffers + 0x8C0 - str r0, [r5] - ldr r0, _080D33B8 @ =0x04000040 - str r0, [r5, 0x4] - ldr r0, _080D33BC @ =0xa2400001 - str r0, [r5, 0x8] - ldr r0, [r5, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D3398: .4byte 0x040000b0 -_080D339C: .4byte 0x0000c5ff -_080D33A0: .4byte 0x00007fff -_080D33A4: .4byte sTransitionStructPtr -_080D33A8: .4byte 0x040000d4 -_080D33AC: .4byte gScanlineEffectRegBuffers -_080D33B0: .4byte 0x80000140 -_080D33B4: .4byte gScanlineEffectRegBuffers + 0x8C0 -_080D33B8: .4byte 0x04000040 -_080D33BC: .4byte 0xa2400001 - thumb_func_end VBCB_BT_Phase2SlicedScreen - - thumb_func_start HBCB_BT_Phase2SlicedScreen -HBCB_BT_Phase2SlicedScreen: @ 80D33C0 - ldr r1, _080D33E0 @ =gScanlineEffectRegBuffers - ldr r0, _080D33E4 @ =0x04000006 - ldrh r0, [r0] - lsls r0, 1 - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - adds r0, r1 - ldrh r1, [r0] - ldr r0, _080D33E8 @ =0x04000014 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - bx lr - .align 2, 0 -_080D33E0: .4byte gScanlineEffectRegBuffers -_080D33E4: .4byte 0x04000006 -_080D33E8: .4byte 0x04000014 - thumb_func_end HBCB_BT_Phase2SlicedScreen - - thumb_func_start BT_Phase2WhiteFadeInStripes -BT_Phase2WhiteFadeInStripes: @ 80D33EC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080D341C @ =sBT_Phase2WhiteFadeInStripesFuncs - ldr r2, _080D3420 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080D33FE: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080D33FE - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D341C: .4byte sBT_Phase2WhiteFadeInStripesFuncs -_080D3420: .4byte gTasks - thumb_func_end BT_Phase2WhiteFadeInStripes - - thumb_func_start BT_Phase2WhiteFadeInStripes_Init -BT_Phase2WhiteFadeInStripes_Init: @ 80D3424 - push {r4,r5,lr} - adds r5, r0, 0 - bl BT_InitCtrlBlk - bl ScanlineEffect_Clear - ldr r0, _080D348C @ =sTransitionStructPtr - ldr r1, [r0] - movs r2, 0 - movs r0, 0xBF - strh r0, [r1, 0xE] - strh r2, [r1, 0x12] - movs r0, 0x1E - strh r0, [r1, 0x2] - movs r0, 0x3F - strh r0, [r1, 0x4] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r2, _080D3490 @ =gScanlineEffectRegBuffers + 0x780 - movs r4, 0 - movs r3, 0xF0 -_080D3450: - lsls r0, r1, 1 - adds r0, r2 - strh r4, [r0] - adds r0, r1, 0 - adds r0, 0xA0 - lsls r0, 1 - adds r0, r2 - strh r3, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x9F - bls _080D3450 - movs r0, 0x2 - bl EnableInterrupts - ldr r0, _080D3494 @ =HBCB_BT_Phase2WhiteFadeInStripes - bl SetHBlankCallback - ldr r0, _080D3498 @ =VBCB_BT_Phase2WhiteFadeInStripes1 - bl SetVBlankCallback - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080D348C: .4byte sTransitionStructPtr -_080D3490: .4byte gScanlineEffectRegBuffers + 0x780 -_080D3494: .4byte HBCB_BT_Phase2WhiteFadeInStripes -_080D3498: .4byte VBCB_BT_Phase2WhiteFadeInStripes1 - thumb_func_end BT_Phase2WhiteFadeInStripes_Init - - thumb_func_start BT_Phase2WhiteFadeInStripes_SetupSprites -BT_Phase2WhiteFadeInStripes_SetupSprites: @ 80D349C - push {r4-r6,lr} - sub sp, 0xC - adds r6, r0, 0 - ldr r1, _080D3504 @ =sWhiteStripeDelay - mov r0, sp - movs r2, 0xC - bl memcpy - movs r5, 0 - movs r4, 0 -_080D34B0: - ldr r0, _080D3508 @ =SpriteCB_BT_Phase2WhiteFadeInStripes - bl CreateInvisibleSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080D350C @ =gSprites - adds r2, r1, r0 - movs r0, 0xF0 - strh r0, [r2, 0x20] - strh r4, [r2, 0x22] - lsls r1, r5, 16 - asrs r1, 16 - lsls r0, r1, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r2, 0x38] - adds r1, 0x1 - lsls r1, 16 - lsls r0, r4, 16 - movs r3, 0xD8 - lsls r3, 13 - adds r0, r3 - lsrs r4, r0, 16 - lsrs r5, r1, 16 - asrs r1, 16 - cmp r1, 0x5 - ble _080D34B0 - ldrh r0, [r2, 0x3A] - adds r0, 0x1 - strh r0, [r2, 0x3A] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080D3504: .4byte sWhiteStripeDelay -_080D3508: .4byte SpriteCB_BT_Phase2WhiteFadeInStripes -_080D350C: .4byte gSprites - thumb_func_end BT_Phase2WhiteFadeInStripes_SetupSprites - - thumb_func_start BT_Phase2WhiteFadeInStripes_IsWhiteFadeDone -BT_Phase2WhiteFadeInStripes_IsWhiteFadeDone: @ 80D3510 - push {r4,lr} - adds r4, r0, 0 - ldr r2, _080D3544 @ =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r0, [r2] - movs r1, 0x20 - ldrsh r0, [r0, r1] - cmp r0, 0x5 - ble _080D353A - movs r0, 0x1 - negs r0, r0 - ldr r2, _080D3548 @ =0x00007fff - movs r1, 0x10 - bl BlendPalettes - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080D353A: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080D3544: .4byte sTransitionStructPtr -_080D3548: .4byte 0x00007fff - thumb_func_end BT_Phase2WhiteFadeInStripes_IsWhiteFadeDone - - thumb_func_start BT_Phase2WhiteFadeInStripes_Stop -BT_Phase2WhiteFadeInStripes_Stop: @ 80D354C - push {r4-r6,lr} - adds r6, r0, 0 - ldr r5, _080D35A0 @ =sTransitionStructPtr - ldr r0, [r5] - ldrb r1, [r0] - movs r4, 0 - strb r4, [r0] - ldr r1, _080D35A4 @ =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, _080D35A8 @ =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, _080D35AC @ =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - ldr r1, [r5] - movs r0, 0xF0 - strh r0, [r1, 0x6] - strh r4, [r1, 0x12] - movs r0, 0xFF - strh r0, [r1, 0xE] - movs r0, 0x3F - strh r0, [r1, 0x2] - strh r4, [r1, 0x20] - ldr r0, _080D35B0 @ =VBCB_BT_Phase2WhiteFadeInStripes2 - bl SetVBlankCallback - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080D35A0: .4byte sTransitionStructPtr -_080D35A4: .4byte 0x040000b0 -_080D35A8: .4byte 0x0000c5ff -_080D35AC: .4byte 0x00007fff -_080D35B0: .4byte VBCB_BT_Phase2WhiteFadeInStripes2 - thumb_func_end BT_Phase2WhiteFadeInStripes_Stop - - thumb_func_start BT_Phase2WhiteFadeInStripes_IsDone -BT_Phase2WhiteFadeInStripes_IsDone: @ 80D35B4 - push {lr} - ldr r0, _080D35EC @ =sTransitionStructPtr - ldr r1, [r0] - movs r2, 0xF0 - lsls r2, 1 - adds r0, r2, 0 - ldrh r2, [r1, 0x20] - adds r0, r2 - strh r0, [r1, 0x20] - lsls r0, 16 - asrs r0, 24 - strh r0, [r1, 0x12] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x10 - bls _080D35E6 - bl BT_BlendPalettesToBlack - ldr r0, _080D35F0 @ =BT_Phase2WhiteFadeInStripes - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080D35E6: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080D35EC: .4byte sTransitionStructPtr -_080D35F0: .4byte BT_Phase2WhiteFadeInStripes - thumb_func_end BT_Phase2WhiteFadeInStripes_IsDone - - thumb_func_start VBCB_BT_Phase2WhiteFadeInStripes1 -VBCB_BT_Phase2WhiteFadeInStripes1: @ 80D35F4 - push {r4,r5,lr} - ldr r5, _080D3668 @ =0x040000b0 - ldrh r1, [r5, 0xA] - ldr r0, _080D366C @ =0x0000c5ff - ands r0, r1 - strh r0, [r5, 0xA] - ldrh r1, [r5, 0xA] - ldr r0, _080D3670 @ =0x00007fff - ands r0, r1 - strh r0, [r5, 0xA] - ldrh r0, [r5, 0xA] - bl BT_VBSyncOamAndPltt - ldr r4, _080D3674 @ =sTransitionStructPtr - ldr r0, [r4] - ldrh r1, [r0, 0xE] - movs r0, 0x50 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x2] - movs r0, 0x48 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x4] - movs r0, 0x4A - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x6] - movs r0, 0x44 - bl SetGpuReg - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _080D3654 - ldr r1, _080D3678 @ =0x040000d4 - ldr r0, _080D367C @ =gScanlineEffectRegBuffers - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, _080D3680 @ =0x80000140 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_080D3654: - ldr r0, _080D3684 @ =gScanlineEffectRegBuffers + 0x8C0 - str r0, [r5] - ldr r0, _080D3688 @ =0x04000040 - str r0, [r5, 0x4] - ldr r0, _080D368C @ =0xa2400001 - str r0, [r5, 0x8] - ldr r0, [r5, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D3668: .4byte 0x040000b0 -_080D366C: .4byte 0x0000c5ff -_080D3670: .4byte 0x00007fff -_080D3674: .4byte sTransitionStructPtr -_080D3678: .4byte 0x040000d4 -_080D367C: .4byte gScanlineEffectRegBuffers -_080D3680: .4byte 0x80000140 -_080D3684: .4byte gScanlineEffectRegBuffers + 0x8C0 -_080D3688: .4byte 0x04000040 -_080D368C: .4byte 0xa2400001 - thumb_func_end VBCB_BT_Phase2WhiteFadeInStripes1 - - thumb_func_start VBCB_BT_Phase2WhiteFadeInStripes2 -VBCB_BT_Phase2WhiteFadeInStripes2: @ 80D3690 - push {r4,lr} - bl BT_VBSyncOamAndPltt - ldr r4, _080D36DC @ =sTransitionStructPtr - ldr r0, [r4] - ldrh r1, [r0, 0x12] - movs r0, 0x54 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0xE] - movs r0, 0x50 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x2] - movs r0, 0x48 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x4] - movs r0, 0x4A - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x6] - movs r0, 0x40 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x8] - movs r0, 0x44 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D36DC: .4byte sTransitionStructPtr - thumb_func_end VBCB_BT_Phase2WhiteFadeInStripes2 - - thumb_func_start HBCB_BT_Phase2WhiteFadeInStripes -HBCB_BT_Phase2WhiteFadeInStripes: @ 80D36E0 - push {lr} - sub sp, 0x4 - mov r1, sp - ldr r0, _080D3714 @ =0x04000006 - ldrh r0, [r0] - strh r0, [r1] - mov r0, sp - ldrh r0, [r0] - cmp r0, 0xE3 - bne _080D36F8 - movs r0, 0 - strh r0, [r1] -_080D36F8: - ldr r2, _080D3718 @ =0x04000054 - ldr r1, _080D371C @ =gScanlineEffectRegBuffers - mov r0, sp - ldrh r0, [r0] - lsls r0, 1 - movs r3, 0xF0 - lsls r3, 3 - adds r1, r3 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080D3714: .4byte 0x04000006 -_080D3718: .4byte 0x04000054 -_080D371C: .4byte gScanlineEffectRegBuffers - thumb_func_end HBCB_BT_Phase2WhiteFadeInStripes - - thumb_func_start SpriteCB_BT_Phase2WhiteFadeInStripes -SpriteCB_BT_Phase2WhiteFadeInStripes: @ 80D3720 - push {r4-r7,lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x38] - movs r2, 0x38 - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _080D374C - subs r0, r1, 0x1 - strh r0, [r3, 0x38] - movs r1, 0x3A - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _080D380A - ldr r0, _080D3748 @ =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0x1 - strb r0, [r1] - b _080D380A - .align 2, 0 -_080D3748: .4byte sTransitionStructPtr -_080D374C: - movs r2, 0x22 - ldrsh r0, [r3, r2] - lsls r0, 1 - ldr r1, _080D3810 @ =gScanlineEffectRegBuffers - adds r7, r0, r1 - movs r2, 0xA0 - lsls r2, 1 - adds r1, r2 - adds r6, r0, r1 - movs r1, 0x3A - ldrsh r0, [r3, r1] - movs r5, 0x1B - cmp r0, 0 - beq _080D376A - movs r5, 0x19 -_080D376A: - movs r4, 0 - cmp r4, r5 - bcs _080D3790 -_080D3770: - lsls r1, r4, 1 - adds r2, r1, r7 - ldrh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 24 - strh r0, [r2] - adds r1, r6 - ldrh r0, [r3, 0x20] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r5 - bcc _080D3770 -_080D3790: - movs r2, 0x20 - ldrsh r0, [r3, r2] - ldrh r2, [r3, 0x20] - cmp r0, 0 - bne _080D37AA - movs r0, 0x2E - ldrsh r1, [r3, r0] - movs r0, 0x80 - lsls r0, 5 - cmp r1, r0 - bne _080D37AA - movs r0, 0x1 - strh r0, [r3, 0x30] -_080D37AA: - adds r1, r2, 0 - subs r1, 0x18 - strh r1, [r3, 0x20] - ldrh r0, [r3, 0x2E] - adds r0, 0xC0 - strh r0, [r3, 0x2E] - lsls r1, 16 - cmp r1, 0 - bge _080D37C0 - movs r0, 0 - strh r0, [r3, 0x20] -_080D37C0: - movs r1, 0x2E - ldrsh r0, [r3, r1] - movs r1, 0x80 - lsls r1, 5 - cmp r0, r1 - ble _080D37CE - strh r1, [r3, 0x2E] -_080D37CE: - movs r2, 0x3A - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _080D37E0 - ldr r0, _080D3814 @ =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0x1 - strb r0, [r1] -_080D37E0: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _080D380A - movs r2, 0x3A - ldrsh r0, [r3, r2] - ldr r1, _080D3814 @ =sTransitionStructPtr - cmp r0, 0 - beq _080D37FC - ldr r0, [r1] - movs r2, 0x20 - ldrsh r0, [r0, r2] - cmp r0, 0x4 - ble _080D380A -_080D37FC: - ldr r1, [r1] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - adds r0, r3, 0 - bl DestroySprite -_080D380A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D3810: .4byte gScanlineEffectRegBuffers -_080D3814: .4byte sTransitionStructPtr - thumb_func_end SpriteCB_BT_Phase2WhiteFadeInStripes - - thumb_func_start BT_Phase2GridSquares -BT_Phase2GridSquares: @ 80D3818 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080D3848 @ =sBT_Phase2GridSquaresFuncs - ldr r2, _080D384C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080D382A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080D382A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D3848: .4byte sBT_Phase2GridSquaresFuncs -_080D384C: .4byte gTasks - thumb_func_end BT_Phase2GridSquares - - thumb_func_start BT_Phase2GridSquares_LoadGfx -BT_Phase2GridSquares_LoadGfx: @ 80D3850 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - add r0, sp, 0x4 - add r1, sp, 0x8 - bl BT_GetBg0TilemapAndTilesetBase - ldr r0, _080D3898 @ =sGridSquareTilemap - ldr r1, [sp, 0x8] - movs r2, 0x10 - bl CpuSet - mov r1, sp - movs r2, 0xF0 - lsls r2, 8 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, [sp, 0x4] - ldr r2, _080D389C @ =0x01000400 - mov r0, sp - bl CpuSet - ldr r0, _080D38A0 @ =sSlidingPokeballBigPokeballPalette - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080D3898: .4byte sGridSquareTilemap -_080D389C: .4byte 0x01000400 -_080D38A0: .4byte sSlidingPokeballBigPokeballPalette - thumb_func_end BT_Phase2GridSquares_LoadGfx - - thumb_func_start BT_Phase2GridSquares_UpdateTileset -BT_Phase2GridSquares_UpdateTileset: @ 80D38A4 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080D38E6 - mov r0, sp - bl BT_GetBg0TilesetBase - movs r0, 0x3 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0xC - ldrsh r0, [r4, r1] - lsls r0, 5 - ldr r1, _080D38F8 @ =sGridSquareTilemap - adds r0, r1 - ldr r1, [sp] - movs r2, 0x10 - bl CpuSet - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0xD - ble _080D38E6 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x10 - strh r0, [r4, 0xA] -_080D38E6: - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080D38F8: .4byte sGridSquareTilemap - thumb_func_end BT_Phase2GridSquares_UpdateTileset - - thumb_func_start BT_Phase2GridSquares_IsDone -BT_Phase2GridSquares_IsDone: @ 80D38FC - push {lr} - ldrh r1, [r0, 0xA] - subs r1, 0x1 - strh r1, [r0, 0xA] - lsls r1, 16 - cmp r1, 0 - bne _080D391C - bl BT_BlendPalettesToBlack - ldr r0, _080D3924 @ =BT_Phase2GridSquares - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080D391C: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080D3924: .4byte BT_Phase2GridSquares - thumb_func_end BT_Phase2GridSquares_IsDone - - thumb_func_start BT_Phase2BlackDoodles -BT_Phase2BlackDoodles: @ 80D3928 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080D3958 @ =sBT_Phase2BlackDoodlesFuncs - ldr r2, _080D395C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080D393A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080D393A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D3958: .4byte sBT_Phase2BlackDoodlesFuncs -_080D395C: .4byte gTasks - thumb_func_end BT_Phase2BlackDoodles - - thumb_func_start BT_Phase2BlackDoodles_Init -BT_Phase2BlackDoodles_Init: @ 80D3960 - push {r4,r5,lr} - adds r5, r0, 0 - bl BT_InitCtrlBlk - bl ScanlineEffect_Clear - ldr r0, _080D39B8 @ =sTransitionStructPtr - ldr r1, [r0] - movs r2, 0 - movs r0, 0x3F - strh r0, [r1, 0x2] - strh r2, [r1, 0x4] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r2, _080D39BC @ =gScanlineEffectRegBuffers - movs r3, 0xF0 - adds r4, r2, 0 -_080D3984: - lsls r0, r1, 1 - adds r0, r2 - strh r3, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x9F - bls _080D3984 - movs r0, 0xF0 - lsls r0, 3 - adds r1, r4, r0 - adds r0, r4, 0 - movs r2, 0xA0 - bl CpuSet - ldr r0, _080D39C0 @ =VBCB_BT_Phase2BlackDoodles - bl SetVBlankCallback - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080D39B8: .4byte sTransitionStructPtr -_080D39BC: .4byte gScanlineEffectRegBuffers -_080D39C0: .4byte VBCB_BT_Phase2BlackDoodles - thumb_func_end BT_Phase2BlackDoodles_Init - - thumb_func_start BT_Phase2BlackDoodles_InitSingleBrush -BT_Phase2BlackDoodles_InitSingleBrush: @ 80D39C4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - mov r8, r0 - ldr r0, _080D3A38 @ =sTransitionStructPtr - ldr r0, [r0] - adds r0, 0x24 - ldr r6, _080D3A3C @ =sBlackDoodlesSegments - mov r2, r8 - movs r3, 0xA - ldrsh r1, [r2, r3] - lsls r4, r1, 2 - adds r4, r1 - lsls r4, 1 - adds r1, r4, r6 - movs r5, 0 - ldrsh r1, [r1, r5] - adds r2, r6, 0x2 - adds r2, r4, r2 - movs r3, 0 - ldrsh r2, [r2, r3] - adds r3, r6, 0x4 - adds r3, r4, r3 - movs r5, 0 - ldrsh r3, [r3, r5] - adds r5, r6, 0x6 - adds r4, r5 - movs r5, 0 - ldrsh r4, [r4, r5] - str r4, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - bl BT_DiagonalSegment_InitParams - mov r0, r8 - movs r2, 0xA - ldrsh r1, [r0, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r6, 0x8 - adds r0, r6 - ldrh r0, [r0] - mov r3, r8 - strh r0, [r3, 0xC] - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - movs r0, 0x1 - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080D3A38: .4byte sTransitionStructPtr -_080D3A3C: .4byte sBlackDoodlesSegments - thumb_func_end BT_Phase2BlackDoodles_InitSingleBrush - - thumb_func_start BT_Phase2BlackDoodles_DrawSingleBrush -BT_Phase2BlackDoodles_DrawSingleBrush: @ 80D3A40 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - ldr r0, _080D3A90 @ =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - mov r8, r0 - movs r7, 0 - ldr r0, _080D3A94 @ =gScanlineEffectRegBuffers - mov r9, r0 -_080D3A5C: - ldr r1, _080D3A94 @ =gScanlineEffectRegBuffers - ldr r0, _080D3A90 @ =sTransitionStructPtr - ldr r2, [r0] - movs r3, 0x2A - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsrs r3, r0, 8 - movs r5, 0xFF - ands r5, r0 - movs r4, 0xC - ldrsh r0, [r6, r4] - cmp r0, 0 - bne _080D3A98 - movs r1, 0x28 - ldrsh r0, [r2, r1] - cmp r3, r0 - bge _080D3A84 - ldrh r3, [r2, 0x28] -_080D3A84: - lsls r0, r3, 16 - lsls r1, r5, 16 - cmp r0, r1 - ble _080D3AB0 - lsrs r3, r1, 16 - b _080D3AB0 - .align 2, 0 -_080D3A90: .4byte sTransitionStructPtr -_080D3A94: .4byte gScanlineEffectRegBuffers -_080D3A98: - lsls r0, r5, 16 - asrs r0, 16 - movs r4, 0x28 - ldrsh r1, [r2, r4] - cmp r0, r1 - ble _080D3AA6 - ldrh r5, [r2, 0x28] -_080D3AA6: - lsls r0, r5, 16 - lsls r1, r3, 16 - cmp r0, r1 - bgt _080D3AB0 - lsrs r5, r1, 16 -_080D3AB0: - ldr r0, _080D3AD4 @ =sTransitionStructPtr - ldr r4, [r0] - movs r0, 0x2A - ldrsh r2, [r4, r0] - lsls r2, 1 - add r2, r9 - lsls r1, r3, 16 - asrs r1, 8 - lsls r0, r5, 16 - asrs r0, 16 - orrs r0, r1 - strh r0, [r2] - cmp r7, 0 - beq _080D3AD8 - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _080D3AFC - .align 2, 0 -_080D3AD4: .4byte sTransitionStructPtr -_080D3AD8: - adds r0, r4, 0 - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl BT_DiagonalSegment_ComputePointOnSegment - lsls r0, 24 - lsrs r7, r0, 24 - mov r1, r8 - lsls r0, r1, 16 - movs r3, 0x80 - lsls r3, 9 - adds r0, r3 - lsrs r4, r0, 16 - mov r8, r4 - asrs r0, 16 - cmp r0, 0xF - ble _080D3A5C -_080D3AFC: - ldr r0, _080D3B18 @ =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080D3B18: .4byte sTransitionStructPtr - thumb_func_end BT_Phase2BlackDoodles_DrawSingleBrush - - thumb_func_start BT_Phase2BlackDoodles_IsDone -BT_Phase2BlackDoodles_IsDone: @ 80D3B1C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - ble _080D3B68 - ldr r1, _080D3B58 @ =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, _080D3B5C @ =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, _080D3B60 @ =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl BT_BlendPalettesToBlack - ldr r0, _080D3B64 @ =BT_Phase2BlackDoodles - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - b _080D3B80 - .align 2, 0 -_080D3B58: .4byte 0x040000b0 -_080D3B5C: .4byte 0x0000c5ff -_080D3B60: .4byte 0x00007fff -_080D3B64: .4byte BT_Phase2BlackDoodles -_080D3B68: - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - ldr r1, _080D3B84 @ =sBlackDoodlesDelay - movs r3, 0xA - ldrsh r0, [r2, r3] - subs r0, 0x1 - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2, 0xE] - movs r0, 0x1 -_080D3B80: - pop {r1} - bx r1 - .align 2, 0 -_080D3B84: .4byte sBlackDoodlesDelay - thumb_func_end BT_Phase2BlackDoodles_IsDone - - thumb_func_start BT_Phase2BlackDoodles_NextBrush -BT_Phase2BlackDoodles_NextBrush: @ 80D3B88 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0xE] - subs r0, 0x1 - strh r0, [r1, 0xE] - lsls r0, 16 - cmp r0, 0 - beq _080D3B9C - movs r0, 0 - b _080D3BA0 -_080D3B9C: - movs r0, 0x1 - strh r0, [r1, 0x8] -_080D3BA0: - pop {r1} - bx r1 - thumb_func_end BT_Phase2BlackDoodles_NextBrush - - thumb_func_start VBCB_BT_Phase2BlackDoodles -VBCB_BT_Phase2BlackDoodles: @ 80D3BA4 - push {r4,r5,lr} - ldr r5, _080D3C1C @ =0x040000b0 - ldrh r1, [r5, 0xA] - ldr r0, _080D3C20 @ =0x0000c5ff - ands r0, r1 - strh r0, [r5, 0xA] - ldrh r1, [r5, 0xA] - ldr r0, _080D3C24 @ =0x00007fff - ands r0, r1 - strh r0, [r5, 0xA] - ldrh r0, [r5, 0xA] - bl BT_VBSyncOamAndPltt - ldr r4, _080D3C28 @ =sTransitionStructPtr - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _080D3BDC - ldr r1, _080D3C2C @ =0x040000d4 - ldr r0, _080D3C30 @ =gScanlineEffectRegBuffers - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, _080D3C34 @ =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_080D3BDC: - ldr r0, [r4] - ldrh r1, [r0, 0x2] - movs r0, 0x48 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x4] - movs r0, 0x4A - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x8] - movs r0, 0x44 - bl SetGpuReg - ldr r4, _080D3C30 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r4, r0 - ldrh r1, [r4] - movs r0, 0x40 - bl SetGpuReg - str r4, [r5] - ldr r0, _080D3C38 @ =0x04000040 - str r0, [r5, 0x4] - ldr r0, _080D3C3C @ =0xa2400001 - str r0, [r5, 0x8] - ldr r0, [r5, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D3C1C: .4byte 0x040000b0 -_080D3C20: .4byte 0x0000c5ff -_080D3C24: .4byte 0x00007fff -_080D3C28: .4byte sTransitionStructPtr -_080D3C2C: .4byte 0x040000d4 -_080D3C30: .4byte gScanlineEffectRegBuffers -_080D3C34: .4byte 0x800000a0 -_080D3C38: .4byte 0x04000040 -_080D3C3C: .4byte 0xa2400001 - thumb_func_end VBCB_BT_Phase2BlackDoodles - - thumb_func_start BT_CreatePhase1SubTask -BT_CreatePhase1SubTask: @ 80D3C40 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - mov r8, r0 - adds r4, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r3, [sp, 0x18] - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - lsls r3, 16 - lsrs r3, 16 - ldr r0, _080D3C9C @ =BT_Phase1SubTask - movs r1, 0x3 - str r3, [sp] - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080D3CA0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - mov r0, r8 - strh r0, [r1, 0xA] - strh r4, [r1, 0xC] - strh r5, [r1, 0xE] - strh r6, [r1, 0x10] - ldr r3, [sp] - strh r3, [r1, 0x12] - strh r0, [r1, 0x14] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D3C9C: .4byte BT_Phase1SubTask -_080D3CA0: .4byte gTasks - thumb_func_end BT_CreatePhase1SubTask - - thumb_func_start BT_IsPhase1Done -BT_IsPhase1Done: @ 80D3CA4 - push {lr} - ldr r0, _080D3CB8 @ =BT_Phase1SubTask - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080D3CBC - movs r0, 0 - b _080D3CBE - .align 2, 0 -_080D3CB8: .4byte BT_Phase1SubTask -_080D3CBC: - movs r0, 0x1 -_080D3CBE: - pop {r1} - bx r1 - thumb_func_end BT_IsPhase1Done - - thumb_func_start BT_Phase1SubTask -BT_Phase1SubTask: @ 80D3CC4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080D3CF4 @ =sBT_Phase1FadeFuncs - ldr r2, _080D3CF8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080D3CD6: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080D3CD6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D3CF4: .4byte sBT_Phase1FadeFuncs -_080D3CF8: .4byte gTasks - thumb_func_end BT_Phase1SubTask - - thumb_func_start BT_Phase1_FadeOut -BT_Phase1_FadeOut: @ 80D3CFC - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x14] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080D3D14 - subs r0, r1, 0x1 - strh r0, [r4, 0x14] - lsls r0, 16 - cmp r0, 0 - bne _080D3D38 -_080D3D14: - ldrh r0, [r4, 0xA] - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0x16] - adds r0, r1 - strh r0, [r4, 0x16] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080D3D2C - movs r0, 0x10 - strh r0, [r4, 0x16] -_080D3D2C: - movs r0, 0x1 - negs r0, r0 - ldrb r1, [r4, 0x16] - ldr r2, _080D3D54 @ =0x00002d6b - bl BlendPalettes -_080D3D38: - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0xF - ble _080D3D4A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xC] - strh r0, [r4, 0x14] -_080D3D4A: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080D3D54: .4byte 0x00002d6b - thumb_func_end BT_Phase1_FadeOut - - thumb_func_start BT_Phase1_FadeIn -BT_Phase1_FadeIn: @ 80D3D58 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x14] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080D3D70 - subs r0, r1, 0x1 - strh r0, [r4, 0x14] - lsls r0, 16 - cmp r0, 0 - bne _080D3D92 -_080D3D70: - ldrh r0, [r4, 0xC] - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x16] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0x16] - lsls r0, 16 - cmp r0, 0 - bge _080D3D86 - movs r0, 0 - strh r0, [r4, 0x16] -_080D3D86: - movs r0, 0x1 - negs r0, r0 - ldrb r1, [r4, 0x16] - ldr r2, _080D3DB8 @ =0x00002d6b - bl BlendPalettes -_080D3D92: - movs r0, 0x16 - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _080D3DC6 - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _080D3DC0 - ldr r0, _080D3DBC @ =BT_Phase1SubTask - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - b _080D3DC6 - .align 2, 0 -_080D3DB8: .4byte 0x00002d6b -_080D3DBC: .4byte BT_Phase1SubTask -_080D3DC0: - ldrh r0, [r4, 0xA] - strh r0, [r4, 0x14] - strh r1, [r4, 0x8] -_080D3DC6: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end BT_Phase1_FadeIn - - thumb_func_start BT_InitCtrlBlk -BT_InitCtrlBlk: @ 80D3DD0 - push {r4,lr} - ldr r4, _080D3DF0 @ =sTransitionStructPtr - ldr r0, [r4] - movs r1, 0 - movs r2, 0x3C - bl memset - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x14 - adds r1, 0x16 - bl sub_805A658 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D3DF0: .4byte sTransitionStructPtr - thumb_func_end BT_InitCtrlBlk - - thumb_func_start BT_VBSyncOamAndPltt -BT_VBSyncOamAndPltt: @ 80D3DF4 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end BT_VBSyncOamAndPltt - - thumb_func_start BT_GetBg0TilesetBase -BT_GetBg0TilesetBase: @ 80D3E08 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x8 - bl GetGpuReg - lsls r0, 16 - lsrs r0, 18 - lsls r0, 30 - lsrs r0, 16 - movs r1, 0xC0 - lsls r1, 19 - adds r0, r1 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - thumb_func_end BT_GetBg0TilesetBase - - thumb_func_start BT_GetBg0TilemapAndTilesetBase -BT_GetBg0TilemapAndTilesetBase: @ 80D3E28 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - movs r0, 0x8 - bl GetGpuReg - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 24 - movs r0, 0x1F - ands r4, r0 - movs r0, 0x8 - bl GetGpuReg - lsls r0, 16 - lsrs r0, 18 - lsls r4, 11 - lsls r0, 30 - lsrs r0, 16 - movs r1, 0xC0 - lsls r1, 19 - adds r4, r1 - str r4, [r5] - adds r0, r1 - str r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end BT_GetBg0TilemapAndTilesetBase - - thumb_func_start BT_BlendPalettesToBlack -BT_BlendPalettesToBlack: @ 80D3E60 - push {lr} - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - pop {r0} - bx r0 - thumb_func_end BT_BlendPalettesToBlack - - thumb_func_start BT_LoadWaveIntoBuffer -BT_LoadWaveIntoBuffer: @ 80D3E74 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r0 - ldr r0, [sp, 0x20] - ldr r4, [sp, 0x24] - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r1, r0, 16 - lsls r4, 16 - movs r6, 0 - lsrs r5, r4, 16 - cmp r4, 0 - ble _080D3EDC - lsls r0, r7, 16 - asrs r0, 16 - mov r9, r0 - lsls r1, 16 - mov r8, r1 - lsls r0, r3, 16 - asrs r7, r0, 16 -_080D3EAC: - lsls r4, r2, 16 - asrs r4, 16 - movs r0, 0xFF - ands r0, r4 - mov r2, r8 - asrs r1, r2, 16 - bl Sin - lsls r1, r6, 1 - add r1, r10 - add r0, r9 - strh r0, [r1] - lsls r1, r5, 16 - ldr r0, _080D3EEC @ =0xffff0000 - adds r1, r0 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, r7 - lsls r4, 16 - lsrs r2, r4, 16 - lsrs r5, r1, 16 - cmp r1, 0 - bgt _080D3EAC -_080D3EDC: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D3EEC: .4byte 0xffff0000 - thumb_func_end BT_LoadWaveIntoBuffer - - thumb_func_start BT_GenerateCircle -BT_GenerateCircle: @ 80D3EF0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - mov r9, r0 - adds r5, r2, 0 - adds r4, r3, 0 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - movs r2, 0xA0 - lsls r2, 1 - movs r1, 0xA - bl memset - movs r1, 0 - lsls r4, 16 - asrs r4, 16 - str r4, [sp, 0x4] - lsls r5, 16 - asrs r5, 16 - str r5, [sp, 0x8] -_080D3F28: - lsls r5, r1, 16 - asrs r0, r5, 16 - mov r10, r0 - ldr r1, [sp, 0x4] - bl Sin - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r10 - ldr r1, [sp, 0x4] - bl Cos - ldr r2, [sp] - lsls r1, r2, 16 - asrs r1, 16 - lsls r4, 16 - asrs r4, 16 - subs r2, r1, r4 - lsls r2, 16 - adds r1, r4 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r0, 16 - asrs r0, 16 - ldr r3, [sp, 0x8] - subs r1, r3, r0 - lsls r1, 16 - lsrs r7, r1, 16 - adds r0, r3, r0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsrs r1, r2, 16 - str r5, [sp, 0x10] - cmp r2, 0 - bge _080D3F74 - movs r1, 0 -_080D3F74: - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0xF0 - ble _080D3F7E - movs r6, 0xF0 -_080D3F7E: - lsls r0, r7, 16 - cmp r0, 0 - bge _080D3F86 - movs r7, 0 -_080D3F86: - mov r2, r8 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x9F - ble _080D3F94 - movs r3, 0x9F - mov r8, r3 -_080D3F94: - lsls r0, r1, 24 - lsrs r0, 16 - orrs r6, r0 - lsls r0, r7, 16 - asrs r0, 16 - str r0, [sp, 0xC] - lsls r0, 1 - add r0, r9 - strh r6, [r0] - mov r0, r8 - lsls r4, r0, 16 - asrs r0, r4, 15 - add r0, r9 - strh r6, [r0] - mov r0, r10 - adds r0, 0x1 - lsls r0, 16 - asrs r0, 16 - ldr r1, [sp, 0x4] - bl Cos - lsls r0, 16 - asrs r0, 16 - ldr r2, [sp, 0x8] - subs r1, r2, r0 - lsls r1, 16 - adds r0, r2, r0 - lsls r0, 16 - lsrs r2, r0, 16 - lsrs r3, r1, 16 - cmp r1, 0 - bge _080D3FD6 - movs r3, 0 -_080D3FD6: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x9F - ble _080D3FE0 - movs r2, 0x9F -_080D3FE0: - lsls r0, r3, 16 - asrs r1, r0, 16 - adds r3, r0, 0 - lsls r5, r2, 16 - ldr r0, [sp, 0xC] - cmp r0, r1 - ble _080D4004 - adds r2, r1, 0 -_080D3FF0: - lsls r1, r7, 16 - ldr r0, _080D4084 @ =0xffff0000 - adds r1, r0 - asrs r0, r1, 15 - add r0, r9 - strh r6, [r0] - lsrs r7, r1, 16 - asrs r1, 16 - cmp r1, r2 - bgt _080D3FF0 -_080D4004: - lsls r1, r7, 16 - asrs r0, r3, 16 - cmp r1, r3 - bge _080D4022 - adds r2, r0, 0 -_080D400E: - movs r3, 0x80 - lsls r3, 9 - adds r0, r1, r3 - asrs r1, r0, 15 - add r1, r9 - strh r6, [r1] - adds r1, r0, 0 - asrs r0, r1, 16 - cmp r0, r2 - blt _080D400E -_080D4022: - asrs r0, r5, 16 - cmp r4, r5 - ble _080D4040 - adds r1, r0, 0 -_080D402A: - ldr r2, _080D4084 @ =0xffff0000 - adds r0, r4, r2 - lsrs r3, r0, 16 - mov r8, r3 - asrs r0, 15 - add r0, r9 - strh r6, [r0] - lsls r4, r3, 16 - asrs r0, r4, 16 - cmp r0, r1 - bgt _080D402A -_080D4040: - mov r0, r8 - lsls r4, r0, 16 - asrs r0, r5, 16 - cmp r4, r5 - bge _080D4060 - adds r2, r0, 0 -_080D404C: - movs r1, 0x80 - lsls r1, 9 - adds r0, r4, r1 - asrs r1, r0, 15 - add r1, r9 - strh r6, [r1] - adds r4, r0, 0 - asrs r0, r4, 16 - cmp r0, r2 - blt _080D404C -_080D4060: - ldr r2, [sp, 0x10] - movs r3, 0x80 - lsls r3, 9 - adds r0, r2, r3 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x3F - bgt _080D4072 - b _080D3F28 -_080D4072: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D4084: .4byte 0xffff0000 - thumb_func_end BT_GenerateCircle - - thumb_func_start BT_DiagonalSegment_InitParams -BT_DiagonalSegment_InitParams: @ 80D4088 - push {r4-r7,lr} - adds r6, r0, 0 - ldr r0, [sp, 0x14] - ldr r5, [sp, 0x18] - ldr r4, [sp, 0x1C] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r0, 16 - adds r7, r0, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - strh r1, [r6] - strh r2, [r6, 0x2] - strh r1, [r6, 0x4] - strh r2, [r6, 0x6] - strh r3, [r6, 0x8] - strh r7, [r6, 0xA] - strh r5, [r6, 0xC] - strh r4, [r6, 0xE] - lsls r3, 16 - asrs r3, 16 - lsls r1, 16 - asrs r1, 16 - subs r3, r1 - strh r3, [r6, 0x10] - lsls r0, r3, 16 - cmp r0, 0 - bge _080D40DA - negs r0, r3 - strh r0, [r6, 0x10] - lsls r0, r5, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r6, 0xC] -_080D40DA: - lsls r0, r7, 16 - asrs r0, 16 - lsls r1, r2, 16 - asrs r1, 16 - subs r1, r0, r1 - strh r1, [r6, 0x12] - lsls r0, r1, 16 - cmp r0, 0 - bge _080D40F8 - negs r0, r1 - strh r0, [r6, 0x12] - lsls r0, r4, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r6, 0xE] -_080D40F8: - movs r0, 0 - strh r0, [r6, 0x14] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end BT_DiagonalSegment_InitParams - - thumb_func_start BT_DiagonalSegment_ComputePointOnSegment -BT_DiagonalSegment_ComputePointOnSegment: @ 80D4104 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r3, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - ldrh r0, [r3, 0x10] - mov r8, r0 - movs r1, 0x10 - ldrsh r6, [r3, r1] - ldrh r2, [r3, 0x12] - mov r12, r2 - movs r4, 0x12 - ldrsh r5, [r3, r4] - cmp r6, r5 - ble _080D4154 - ldrh r0, [r3, 0xC] - ldrh r2, [r3, 0x4] - adds r1, r0, r2 - strh r1, [r3, 0x4] - ldrh r2, [r3, 0x14] - add r2, r12 - strh r2, [r3, 0x14] - lsls r1, r2, 16 - asrs r1, 16 - adds r4, r0, 0 - ldrh r7, [r3, 0xE] - cmp r1, r6 - ble _080D417A - ldrh r1, [r3, 0x6] - adds r0, r7, r1 - strh r0, [r3, 0x6] - mov r1, r8 - b _080D4176 -_080D4154: - ldrh r0, [r3, 0xE] - ldrh r2, [r3, 0x6] - adds r1, r0, r2 - strh r1, [r3, 0x6] - ldrh r2, [r3, 0x14] - add r2, r8 - strh r2, [r3, 0x14] - lsls r1, r2, 16 - asrs r1, 16 - ldrh r4, [r3, 0xC] - adds r7, r0, 0 - cmp r1, r5 - ble _080D417A - ldrh r1, [r3, 0x4] - adds r0, r4, r1 - strh r0, [r3, 0x4] - mov r1, r12 -_080D4176: - subs r0, r2, r1 - strh r0, [r3, 0x14] -_080D417A: - movs r5, 0 - lsls r0, r4, 16 - asrs r2, r0, 16 - cmp r2, 0 - ble _080D4192 - movs r4, 0x4 - ldrsh r1, [r3, r4] - movs r4, 0x8 - ldrsh r0, [r3, r4] - ldrh r4, [r3, 0x8] - cmp r1, r0 - bge _080D41A4 -_080D4192: - cmp r2, 0 - bge _080D41B2 - movs r0, 0x4 - ldrsh r1, [r3, r0] - movs r2, 0x8 - ldrsh r0, [r3, r2] - ldrh r4, [r3, 0x8] - cmp r1, r0 - bgt _080D41B2 -_080D41A4: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r9 - cmp r0, 0 - beq _080D41B2 - strh r4, [r3, 0x4] -_080D41B2: - lsls r0, r7, 16 - asrs r2, r0, 16 - cmp r2, 0 - ble _080D41C8 - movs r4, 0x6 - ldrsh r1, [r3, r4] - movs r4, 0xA - ldrsh r0, [r3, r4] - ldrh r4, [r3, 0xA] - cmp r1, r0 - bge _080D41DA -_080D41C8: - cmp r2, 0 - bge _080D41E8 - movs r0, 0x6 - ldrsh r1, [r3, r0] - movs r2, 0xA - ldrsh r0, [r3, r2] - ldrh r4, [r3, 0xA] - cmp r1, r0 - bgt _080D41E8 -_080D41DA: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r10 - cmp r0, 0 - beq _080D41E8 - strh r4, [r3, 0x6] -_080D41E8: - cmp r5, 0x2 - beq _080D41F0 - movs r0, 0 - b _080D41F2 -_080D41F0: - movs r0, 0x1 -_080D41F2: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end BT_DiagonalSegment_ComputePointOnSegment - - .align 2, 0 @ Don't pad with nop. |