Crystal Focus logo
CRYSTALFOCUS.NET
Color profiles tutorial
COMMUNITY GUIDE
COLOR PROFILES FOR CRYSTAL FOCUS X

Color Profiles for Crystal Focus X

A practical guide to what a color profile is, where it lives, what each color parameter does, how mcolor= works, and how to build useful color setups.

What you will learn

  • What each color field does
  • How mcolor= controls FoC channel mixing
  • How to read a color profile quickly
  • How to build practical example profiles

What This Guide Covers

This guide is intentionally focused only on the Color Profile system in Crystal Focus X. It covers the fields inside colors.txt, what each color does, how mcolor= controls Flash-on-Clash channel mixing, and a few practical examples.

More advanced topics such as flicker, unstable effects, heat arrays, mapping, and Swing Bright will be covered in separate guides.


1. Color Profile Fields

A color profile is defined inside colors.txt under a [color=N] section. It contains nine colors plus the mcolor= channel mask.

Config KeyFieldWhat It Does
color=BladeColorThe base blade color. Every pixel starts as this color before any effects are applied. This is the "resting" blade appearance.
fcolor=FocColorFlash-on-Clash color. When a clash or lockup is triggered, the blade flashes this color — subject to the FocMix channel mask (see below).
bcolor=BoltColorBlaster bolt color. The travelling bolt impact uses this color.
lcolor=LockupColorLockup color. During sustained lockup, the blade blends between FocColor and LockupColor based on hilt twist angle. Twisting the hilt shifts the lockup glow between these two colors.
xcolor=CrystalColorCrystal chamber LED color. Used for the crystal chamber accent, independent of blade color.
kcolor=FlickerColorFlicker color. The style_flicker system blends pixels toward this color. Also used by the FIRE flicker style's heat map.
ecolor=FxColorEffects / unstable color. All heat-based unstable effects (fire, unstable, chainsaw, starkiller, etc.) blend the blade toward this color using the Heat array. Also used by Swing Bright when no unstable effect is active.
dcolor=DragColorDrag effect color. When the blade tip is dragged on the ground, pixels show this color.
tcolor=StabColorStab effect color. When a stab motion is detected, the blade tip flashes this color.

Color Format

All colors are specified as RGBW values (0–1023 each):

color=800,0,0,0

The four values are Red, Green, Blue, White. Each channel ranges from 0 to 1023. If the White channel is not used, set it to 0.

Note: Older community examples sometimes use 0–255-style values. In CFX color profiles, the actual channel range is 0–1023, so examples in this guide use that full range.


2. mcolor and Flash-on-Clash Channel Mixing

mcolor=1111

FocMix controls which color channels participate in the Flash-on-Clash shimmer. It is configured with the mcolor= key, which takes four characters — one per RGBW channel — where 1 means the channel is affected and 0 means it is not:

PositionChannelExample
1stRed1000 = Red only
2ndGreen0100 = Green only
3rdBlue0010 = Blue only
4thWhite0001 = White only

The value 1111 means all channels are mixed during FoC, which is the "full FoC" legacy behavior. A value of 0000 means no FoC mixing occurs.

Important: Note: There is no focmix= config key. focmix only appears in debug output. The config file key is always mcolor=.

How It Works in Practice

When a clash occurs and the shimmer alternates between the normal blade output and the FoC color, CFX checks each channel individually. Only channels whose character is set to 1 in the mcolor= value will have their brightness altered during the FoC flash. The other channels remain untouched.

Example: With color=0,0,1023,0 (blue blade) and fcolor=1023,1023,1023,0 (white FoC):

Lockup Color Blending

During sustained lockup, the system blends between FocColor and LockupColor based on the hilt's twist angle (SteadyTwist). Twisting one way shifts toward FocColor, twisting the other way shifts toward LockupColor. This creates a dynamic, interactive lockup glow.


3. Color Profile Quick Reference

KeyPurpose
color=R,G,B,WBase blade color
fcolor=R,G,B,WFlash-on-Clash color
bcolor=R,G,B,WBlaster bolt color
lcolor=R,G,B,WLockup color
xcolor=R,G,B,WCrystal chamber color
kcolor=R,G,B,WFlicker target color
ecolor=R,G,B,WEffects / unstable target color
dcolor=R,G,B,WDrag color
tcolor=R,G,B,WStab color
mcolor=RGBWFlash-on-Clash channel mask using four 1/0 characters

4. Practical Examples

Example 1: Classic Blue Blade with White FoC

[color=0]
cname=Classic Blue
color=0,0,1023,0
fcolor=1023,1023,1023,0
bcolor=1023,1023,1023,0
lcolor=800,800,1023,0
xcolor=0,0,400,0
kcolor=0,0,1023,0
ecolor=0,0,1023,0
dcolor=1023,400,0,0
tcolor=1023,1023,1023,0
mcolor=1111

No unstable effects, no advanced flicker. The blade is solid blue with full-channel white FoC flashes.

Example 2: Kylo Ren Unstable Red

[color=1]
cname=Kylo Unstable
color=1023,0,0,0
fcolor=1023,800,200,0
bcolor=1023,400,0,0
lcolor=1023,200,0,0
xcolor=1023,0,0,0
kcolor=1023,200,0,0
ecolor=1023,800,0,0
dcolor=1023,320,0,0
tcolor=1023,1023,800,0
mcolor=1111

In the blade profile:

unstable=1
lcool=30
hcool=80
sparkf=150
sparkd=80
drift=1
mapping_unstable=1
mapping_color=0
mapb=200
mapc=30

This creates:

Example 3: Fire Blade with Swing Bright

[color=2]
cname=Temple Guardian
color=800,720,0,0
fcolor=1023,1023,800,0
bcolor=1023,1023,400,0
lcolor=1023,800,200,0
xcolor=800,400,0,0
kcolor=1023,400,0,0
ecolor=1023,200,0,0
dcolor=1023,600,0,0
tcolor=1023,1023,0,0
mcolor=1111

In the blade profile:

unstable=2
lcool=20
hcool=120
sparkf=180
sparkd=40
drift=0
mapping_unstable=1
mapping_color=1
mapb=220
mapc=0

style_sbright=0
mapping_sbright=3
delay_sbright=180

This creates:

Example 4: Bicolor Flicker with Brown Noise

[color=3]
cname=Ahsoka White-Blue
color=800,800,1023,320
fcolor=1023,1023,1023,400
bcolor=1023,1023,1023,0
lcolor=600,600,1023,0
xcolor=400,400,1023,0
kcolor=0,200,1023,0
ecolor=800,800,1023,0
dcolor=1023,400,0,0
tcolor=1023,1023,1023,0
mcolor=1111

In the blade profile:

unstable=0
style_flicker=3
depth_flicker=80
force_flicker=200
size_flicker=30
mapping_flicker=1

style_sbright=0
mapping_sbright=3
delay_sbright=100

This creates:


Guide generated from Crystal Focus X firmware source code analysis. Color values in examples are illustrative — adjust to taste.