Modifying existing styles - backwards engineer effects?

I’ve been playing with some pre written styles that came with purchased fonts and am hitting some difficulty cleaning them up (to take less space and removing effects I don’t like)

Is there a way to backwards engineer the huge block of code to explain each line/effect? Like putting the code in a “backwards engineer style editor” and have it populate the options so the user can change effects as they wish with the nice drop down?

Occasionally the style code has been broken down to explain what each line is, but others not.

Is that a function I am missing? The //commented out description, or did the original style designer do that as a courtesy? Yes, the bullet pointed breakdown is up top when using style generator, but not per line.

Secondly, I want to remove something in the style below, but I’m not sure what to change.

It’s a Force Change, which I find incredibly cool and want to use more. OS7 with the sound font change makes me giddy…

I want to remove the “slow fade from deep sky blue to red” after ignition and “slow fade from red to deep sky blue” after ignition. I want the blade to stay the initial ignition color until I tell it to change with Force Effect toggle

See below.

Also if there is something massively overcomplicated that takes up huge code for no good reason, please feel free to edit. I’m trying to streamline. Blaster effects and lockup are not super important, as long as they show up when triggered.

StylePtr<Layers<
	
  //Force effect toggles between Red and Deep Sky Blue. You can still use the color wheel to try out other colors paired together or edit the colors below yourself.
  EffectSequence<EFFECT_FORCE,
  
  //Deep Sky Blue
  Layers<
  
        //Fett263 Humpflicker
	HumpFlicker<RotateColorsX<Variation,DeepSkyBlue>,RotateColorsX<Variation,Rgb<0,50,120>>,50>,
    
	//Fett263 unstable swing
	AlphaL<AudioFlickerL<Stripes<1000,-1500,RandomPerLEDFlicker<RotateColorsX<Variation,Cyan>,Black>,Black,RotateColorsX<Variation,DeepSkyBlue>,Black>>,SwingSpeed<350>>,
    
	//Ripple swing effect using Fett263's scaled responsive swing
	AlphaL<AlphaL<Stripes<2000,-2250,RotateColorsX<Variation,Cyan>,RotateColorsX<Variation,Rgb<0,50,40>>,Pulsing<RotateColorsX<Variation,Rgb<0,35,20>>,Black,800>>,HoldPeakF<Scale<IsLessThan<SwingSpeed<850>,Int<13600>>,Scale<SwingSpeed<850>,Int<-19300>,Int<32768>>,Int<0>>,Int<550>,Scale<SwingAcceleration<100>,Int<20000>,Int<10000>>>>,SmoothStep<Scale<Scale<IsLessThan<SwingSpeed<600>,Int<13600>>,Scale<SwingSpeed<600>,Int<-19300>,Int<32768>>,Int<0>>,Int<15000>,Int<5000>>,Int<16000>>>,
    
	//Fett263 unstable ignition with slow fade from red to deep sky blue
	TransitionEffectL<TrConcat<TrInstant,Stripes<3000,-1550,White,RandomPerLEDFlicker<Rgb<60,60,60>,Black>,BrownNoiseFlicker<White,Rgb<30,30,30>,200>,RandomPerLEDFlicker<Rgb<80,80,80>,Rgb<30,30,30>>>,TrFade<3000>,HumpFlicker<RotateColorsX<Variation,Red>,RotateColorsX<Variation,Rgb<128,0,0>>,50>,TrDelay<5000>,HumpFlicker<RotateColorsX<Variation,Red>,RotateColorsX<Variation,Rgb<128,0,0>>,50>,TrFade<5000>>,EFFECT_IGNITION>>,
  
  //Red
  Layers<
    
	//Fett263 Humpflicker
        HumpFlicker<RotateColorsX<Variation,Red>,RotateColorsX<Variation,Rgb<128,0,0>>,50>,
    
	//Fett263 unstable swing
	AlphaL<AudioFlickerL<Stripes<1000,-1500,RandomPerLEDFlicker<RotateColorsX<Variation,DarkOrange>,Black>,Black,RotateColorsX<Variation,Red>,Black>>,SwingSpeed<350>>,
    
	//Ripple swing effect using Fett263's scaled responsive swing
	AlphaL<AlphaL<Stripes<2000,-2250,RotateColorsX<Variation,DarkOrange>,RotateColorsX<Variation,Rgb<60,30,0>>,Pulsing<RotateColorsX<Variation,Rgb<30,15,0>>,Black,800>>,HoldPeakF<Scale<IsLessThan<SwingSpeed<850>,Int<13600>>,Scale<SwingSpeed<850>,Int<-19300>,Int<32768>>,Int<0>>,Int<550>,Scale<SwingAcceleration<100>,Int<20000>,Int<10000>>>>,SmoothStep<Scale<Scale<IsLessThan<SwingSpeed<600>,Int<13600>>,Scale<SwingSpeed<600>,Int<-19300>,Int<32768>>,Int<0>>,Int<15000>,Int<5000>>,Int<16000>>>,
    
	//Fett263 unstable ignition with slow fade from deep sky blue to red
	TransitionEffectL<TrConcat<TrInstant,Stripes<3000,-1550,White,RandomPerLEDFlicker<Rgb<60,60,60>,Black>,BrownNoiseFlicker<White,Rgb<30,30,30>,200>,RandomPerLEDFlicker<Rgb<80,80,80>,Rgb<30,30,30>>>,TrFade<3000>,HumpFlicker<RotateColorsX<Variation,DeepSkyBlue>,RotateColorsX<Variation,Rgb<0,50,120>>,50>,TrDelay<5000>,HumpFlicker<RotateColorsX<Variation,DeepSkyBlue>,RotateColorsX<Variation,Rgb<0,50,120>>,50>,TrFade<5000>>,EFFECT_IGNITION>>>,
  
  //Fett263 unstable force effect with sizzle emitter ending - Toggles the base saber colors between red and blue.
  TransitionEffectL<TrConcat<TrInstant,White,TrFade<150>,StyleFire<Stripes<2500,-5000,BrownNoiseFlicker<RotateColorsX<Variation,Magenta>,Black,20>,RotateColorsX<Variation,Rgb<10,0,10>>,BrownNoiseFlicker<Black,RotateColorsX<Variation,Rgb<255,25,255>>,70>,RotateColorsX<Variation,Rgb<128,0,128>>>,RotateColorsX<Variation,Rgb<80,0,80>>,0,5,FireConfig<2,3000,0>,FireConfig<2,3000,0>,FireConfig<2,3000,0>,FireConfig<2,3000,0>>,TrDelay<1000>,StyleFire<Stripes<2500,-5000,BrownNoiseFlicker<RotateColorsX<Variation,Magenta>,Black,20>,RotateColorsX<Variation,Rgb<10,0,10>>,BrownNoiseFlicker<Black,RotateColorsX<Variation,Rgb<255,25,255>>,70>,RotateColorsX<Variation,Rgb<128,0,128>>>,RotateColorsX<Variation,Rgb<80,0,80>>,0,5,FireConfig<2,3000,0>,FireConfig<2,3000,0>,FireConfig<2,3000,0>,FireConfig<2,3000,0>>,TrFade<1000>,AlphaL<StyleFire<Stripes<2500,-5000,BrownNoiseFlicker<RotateColorsX<Variation,Magenta>,Black,20>,RotateColorsX<Variation,Rgb<10,0,10>>,BrownNoiseFlicker<Black,RotateColorsX<Variation,Rgb<255,25,255>>,70>,RotateColorsX<Variation,Rgb<128,0,128>>>,RotateColorsX<Variation,Rgb<80,0,80>>,0,5,FireConfig<2,3000,0>,FireConfig<2,3000,0>,FireConfig<2,3000,0>,FireConfig<2,3000,0>>,Bump<Int<3500>,Int<23384>>>,TrFade<600>>,EFFECT_FORCE>,
  
  //Fett263 Responsive Intensity Lockup effect with absorb endlock
  LockupTrL<TransitionEffect<AlphaMixL<Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>,BrownNoiseFlickerL<RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,Int<200>>,StripesX<Int<1800>,Scale<NoisySoundLevel,Int<-3500>,Int<-5000>>,Mix<Int<6425>,Black,RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>>,RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,Mix<Int<12850>,Black,RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>>>>,AlphaL<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,Mix<Int<10280>,Black,RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Int<13000>>>,TrJoin<TrDelay<8000>,TrInstant>,TrFade<3000>,EFFECT_LOCKUP_BEGIN>,TrConcat<TrJoin<TrDelay<50>,TrInstant>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,AlphaL<RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<ClashImpactF<>,Int<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat<TrInstant,AlphaL<RgbArg<LOCKUP_COLOR_ARG,White>,Int<0>>,TrWaveX<RgbArg<LOCKUP_COLOR_ARG,White>,Int<300>,Int<100>,Int<400>,Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>>,AlphaL<HumpFlicker<White,Rgb<40,60,60>,50>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>>>,TrFade<350>>,SaberBase::LOCKUP_NORMAL>,
  
  //Fett263 Responsive Intensity Lockup effect
  //LockupTrL<TransitionEffect<AlphaMixL<Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>,BrownNoiseFlickerL<RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,Int<200>>,StripesX<Int<1800>,Scale<NoisySoundLevel,Int<-3500>,Int<-5000>>,Mix<Int<6425>,Black,RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>>,RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,Mix<Int<12850>,Black,RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>>>>,AlphaL<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,Mix<Int<10280>,Black,RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Int<13000>>>,TrJoin<TrDelay<8000>,TrInstant>,TrFade<3000>,EFFECT_LOCKUP_BEGIN>,TrConcat<TrJoin<TrDelay<50>,TrInstant>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,AlphaL<RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<ClashImpactF<>,Int<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat<TrInstant,AlphaL<RgbArg<LOCKUP_COLOR_ARG,White>,Int<0>>,TrWaveX<RgbArg<LOCKUP_COLOR_ARG,White>,Int<300>,Int<100>,Int<400>,Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>>>,SaberBase::LOCKUP_NORMAL>,
  
  //Fett263 Responsive Lightning Block
  ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,White>,AudioFlicker<RgbArg<LB_COLOR_ARG,White>,Blue>,50,1>,TrConcat<TrInstant,AlphaL<RgbArg<LB_COLOR_ARG,White>,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<RgbArg<LB_COLOR_ARG,White>,Int<16000>>,30>,TrSmoothFade<600>>>,
  
  //Responsive Stab
  ResponsiveStabL<AudioFlickerL<RgbArg<STAB_COLOR_ARG,Yellow>>,TrWipeInX<Percentage<WavLen<EFFECT_STAB>,50>>,TrFadeX<Percentage<WavLen<EFFECT_STAB>,50>>>,
  
  //Blast selection based on absorb effect
  ColorSelect<WavNum<EFFECT_BLAST>,TrInstant,
    
	//Fett263 Responsive Blast Wave
    TransitionEffectL<TrConcat<TrInstant,ResponsiveBlastWaveL<White,Scale<SwingSpeed<400>,Int<500>,Int<200>>,Scale<SwingSpeed<400>,Int<100>,Int<400>>>,TrDelay<500>>,EFFECT_BLAST>,
    
	//Fett263 Responsive Blast Wave with absorb effect
    TransitionEffectL<TrConcat<TrInstant,ResponsiveBlastWaveL<White,Scale<SwingSpeed<400>,Int<500>,Int<200>>,Scale<SwingSpeed<400>,Int<100>,Int<400>>>,TrFade<500>,AlphaL<HumpFlicker<White,Rgb<40,60,60>,50>,Bump<Scale<BladeAngle<>,Int<28000>,Int<8000>>>>,TrFade<350>>,EFFECT_BLAST>>,
  
  //Fett263 Responsive Blast Wave
  //ResponsiveBlastWaveL<White,Scale<SwingSpeed<400>,Int<500>,Int<200>>,Scale<SwingSpeed<400>,Int<100>,Int<400>>>,
  
  //OS6 Random Fett263 Responsive Multi-Blast
  //ColorSelect<RandomF,TrInstant,ResponsiveBlastL<RgbArg<BLAST_COLOR_ARG,White>,Int<400>,Scale<SwingSpeed<200>,Int<100>,Int<400>>,Int<400>>,LocalizedClashL<RgbArg<BLAST_COLOR_ARG,White>,80,30,EFFECT_BLAST>,ResponsiveBlastWaveL<RgbArg<BLAST_COLOR_ARG,White>,Scale<SwingSpeed<400>,Int<500>,Int<200>>,Scale<SwingSpeed<400>,Int<100>,Int<400>>>,BlastL<RgbArg<BLAST_COLOR_ARG,White>,200,200>,ResponsiveBlastFadeL<RgbArg<BLAST_COLOR_ARG,White>,Scale<SwingSpeed<400>,Int<6000>,Int<12000>>,Scale<SwingSpeed<400>,Int<400>,Int<100>>>,ResponsiveBlastL<RgbArg<BLAST_COLOR_ARG,White>,Scale<SwingSpeed<400>,Int<400>,Int<100>>,Scale<SwingSpeed<400>,Int<200>,Int<100>>,Scale<SwingSpeed<400>,Int<400>,Int<200>>>>,
  
  //OS6 Fett263 Random Responsive Blast
  //MultiTransitionEffectL<TrRandom<TrWaveX<RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>,Scale<EffectRandomF<EFFECT_BLAST>,Int<100>,Int<400>>,Int<100>,Scale<EffectRandomF<EFFECT_BLAST>,Int<100>,Int<400>>,Scale<EffectRandomF<EFFECT_BLAST>,Int<28000>,Int<8000>>>,TrConcat<TrInstant,AlphaL<RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>,Bump<Int<16384>,Int<6000>>>,TrFade<50>,AlphaL<RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>,Int<0>>,TrSparkX<Remap<CenterDistF<EffectPosition<>>,Stripes<2000,-2000,RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>,Mix<Int<2096>,Black,RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>>>>,Int<100>,Int<300>,Scale<BladeAngle<>,Int<28000>,Int<8000>>>>,TrConcat<TrInstant,AlphaL<RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>,Bump<Int<16384>,Int<6000>>>,TrFade<50>,AlphaL<RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>,Int<0>>,TrWaveX<Remap<CenterDistF<EffectPosition<>>,Stripes<1500,-2000,RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>,Mix<Int<2096>,Black,RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>>>>,Int<160>,Int<100>,Int<300>,Scale<BladeAngle<>,Int<28000>,Int<8000>>>>,TrConcat<TrInstant,AlphaMixL<Bump<EffectPosition<>,Scale<WavLen<>,Int<9000>,Int<12000>>>,RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>,Mix<Int<16384>,Black,RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>>>,TrFade<300>>,TrWaveX<RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>,Scale<EffectRandomF<EFFECT_BLAST>,Int<100>,Int<400>>,Int<100>,Scale<EffectRandomF<EFFECT_BLAST>,Int<100>,Int<400>>,Scale<BladeAngle<>,Int<28000>,Int<8000>>>,TrConcat<TrInstant,AlphaMixL<Bump<Scale<BladeAngle<>,Int<28000>,Int<000>>,Scale<WavLen<>,Int<9000>,Int<13000>>>,RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>,Mix<Int<16384>,Black,RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>>>,TrFade<300>>>,EFFECT_BLAST>,
  
  //OS5 Fett263 Multi-Blast, blaster reflect cycles through different responsive effects (I like the look of this one the best even with the new OS6 stuff)
  //EffectSequence<EFFECT_BLAST,ResponsiveBlastL<White,Int<400>,Scale<SwingSpeed<200>,Int<100>,Int<400>>,Int<400>>,LocalizedClashL<White,80,30,EFFECT_BLAST>,ResponsiveBlastWaveL<White,Scale<SwingSpeed<400>,Int<500>,Int<200>>,Scale<SwingSpeed<400>,Int<100>,Int<400>>>,BlastL<White,200,200>,ResponsiveBlastFadeL<White,Scale<SwingSpeed<400>,Int<6000>,Int<12000>>,Scale<SwingSpeed<400>,Int<400>,Int<100>>>,ResponsiveBlastL<White,Scale<SwingSpeed<400>,Int<400>,Int<100>>,Scale<SwingSpeed<400>,Int<200>,Int<100>>,Scale<SwingSpeed<400>,Int<400>,Int<200>>>>,
  
  //Fett263 Real Clash with absorb effect
  Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrConcat<TrInstant,AlphaL<RgbArg<CLASH_COLOR_ARG,NavajoWhite>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<ClashImpactF<>,Int<12000>,Int<60000>>>>,TrFadeX<Scale<ClashImpactF<300>,Int<200>,Int<940>>>,AlphaL<HumpFlicker<White,Rgb<40,60,60>,50>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>>>,TrFade<350>>,EFFECT_CLASH>,TransitionEffectL<TrConcat<TrWaveX<RgbArg<CLASH_COLOR_ARG,NavajoWhite>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<100>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>>,AlphaL<HumpFlicker<White,Rgb<40,60,60>,50>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>>>,TrFade<350>>,EFFECT_CLASH>>,
  
  //Fett263 Real Clash
  //Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrConcat<TrInstant,AlphaL<RgbArg<CLASH_COLOR_ARG,Rgb<255,187,108>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<ClashImpactF<>,Int<12000>,Int<60000>>>>,TrFadeX<Scale<ClashImpactF<>,Int<200>,Int<400>>>>,EFFECT_CLASH>,TransitionEffectL<TrWaveX<RgbArg<CLASH_COLOR_ARG,Rgb<255,187,108>>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<100>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>>,EFFECT_CLASH>>,

  //Fett263 Intensity Drag
  LockupTrL<AlphaL<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,White>>,SmoothStep<IntArg<DRAG_SIZE_ARG,27500>,Int<5000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,White>,Int<300>>,SmoothStep<IntArg<DRAG_SIZE_ARG,29250>,Int<5000>>>,TrFade<4000>>,TrFade<300>,SaberBase::LOCKUP_DRAG>,
    
  //Alternate Responsive Drag
  //LockupTrL<AlphaL<BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,White>,Int<300>>,SmoothStep<Int<30000>,Int<5000>>>,TrWipeInX<WavLen<EFFECT_DRAG_BEGIN>>,TrFadeX<WavLen<EFFECT_DRAG_END>>,SaberBase::LOCKUP_DRAG>,
  
  //Fett263 Responsive Intensity Melt
  LockupTrL<AlphaL<Remap<Scale<RampF,Int<65536>,Int<0>>,StaticFire<Mix<TwistAngle<>,OrangeRed,DarkOrange>,Mix<TwistAngle<>,OrangeRed,Orange>,0,3,5,3000,10>>,SmoothStep<IntArg<MELT_SIZE_ARG,26000>,Int<6000>>>,TrConcat<TrWipeIn<100>,AlphaL<Red,SmoothStep<Int<29000>,Int<8000>>>,TrExtend<2000,TrFade<300>>,AlphaL<Mix<TwistAngle<>,Red,Orange>,SmoothStep<Int<29000>,Int<8000>>>,TrFade<3000>>,TrFade<250>,SaberBase::LOCKUP_MELT>,
  
  //Fett263 Power Save, if using fett263's prop file hold Aux and click PWR while ON (pointing up) to dim blade in 25% increments.
  EffectSequence<EFFECT_POWERSAVE,AlphaL<Black,Int<8192>>,AlphaL<Black,Int<16384>>,AlphaL<Black,Int<24576>>,AlphaL<Black,Int<0>>>,
  
  //Spark tip ignition and cycle down retraction
  InOutTrL<TrWipeSparkTip<White,1500>,TrColorCycleX<Int<500>,500>>,
  
  //Force effect toggles between red and deep sky blue
  EffectSequence<EFFECT_FORCE,
    
	//Deep sky blue glowing emitter retraction with fizzle out post off
	TransitionEffectL<TrConcat<TrInstant,AlphaL<BrownNoiseFlickerL<RotateColorsX<Variation,DeepSkyBlue>,Int<30>>,SmoothStep<Scale<SlowNoise<Int<1500>>,Int<2000>,Int<4500>>,Int<-4000>>>,TrDelayX<WavLen<EFFECT_RETRACTION>>,Black,TrDelay<897>,AlphaL<RandomPerLEDFlicker<RotateColorsX<Variation,DeepSkyBlue>,Black>,Bump<Int<10500>,Int<11500>>>,TrDelay<150>>,EFFECT_RETRACTION>,
    
	//Red glowing emitter retraction with fizzle out post off
	TransitionEffectL<TrConcat<TrInstant,AlphaL<BrownNoiseFlickerL<RotateColorsX<Variation,Red>,Int<30>>,SmoothStep<Scale<SlowNoise<Int<1500>>,Int<2000>,Int<4500>>,Int<-4000>>>,TrDelayX<WavLen<EFFECT_RETRACTION>>,Black,TrDelay<897>,AlphaL<RandomPerLEDFlicker<RotateColorsX<Variation,Red>,Black>,Bump<Int<10500>,Int<11500>>>,TrDelay<150>>,EFFECT_RETRACTION>>,
  
  //Force effect toggles between red and deep sky blue
  EffectSequence<EFFECT_FORCE,
    
	//Unstable deep sky blue noise responsive post off
	TransitionEffectL<TrConcat<TrDelayX<WavLen<EFFECT_RETRACTION>>,AlphaL<BrownNoiseFlicker<Black,RotateColorsX<Variation,DeepSkyBlue>,125>,SmoothStep<Scale<NoisySoundLevel,Int<2500>,Int<15000>>,Int<-4000>>>,TrFadeX<WavLen<EFFECT_POSTOFF>>>,EFFECT_RETRACTION>,
    
	//Unstable red noise responsive post off
	TransitionEffectL<TrConcat<TrDelayX<WavLen<EFFECT_RETRACTION>>,AlphaL<BrownNoiseFlicker<Black,RotateColorsX<Variation,Red>,125>,SmoothStep<Scale<NoisySoundLevel,Int<2500>,Int<15000>>,Int<-4000>>>,TrFadeX<WavLen<EFFECT_POSTOFF>>>,EFFECT_RETRACTION>>,

  //Fett263 On-Demand Battery Level, if using fett263's prop file Hold AUX and click PWR while OFF, the battery level is represented by the location on the blade; tip = full, hilt = low and color; green = full, yellow = half, red = low
  TransitionEffectL<TrConcat<TrInstant,AlphaL<Mix<BatteryLevel,Red,Green>,Bump<BatteryLevel,Int<10000>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,Bump<BatteryLevel,Int<10000>>>,TrFade<1000>>,EFFECT_BATTERY_LEVEL>,
  
  //Optional/alternate Fett263 Passive Battery Monitor (fett263 prop file not required), on boot (1st line) or font change (2nd line) you will get a visual indicator at the emitter of your current battery level. This also works without a blade if you have a lit emitter or blade plug. Green is Full, Red is Low (the color will blend from Green to Red as the battery is depleted), the indicator will fade out after 3000 ms and not display again until powered down and back up or fonts change.  
  //TransitionEffectL<TrConcat<TrDelay<1500>,Black,TrFade<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,Bump<Int<0>,Int<6000>>>,TrFade<3000>>,EFFECT_BOOT>,
  //TransitionEffectL<TrConcat<TrInstant,AlphaL<Mix<BatteryLevel,Red,Green>,Bump<Int<0>,Int<6000>>>,TrFade<3000>>,EFFECT_NEWFONT>,

  //Force effect toggles between red and deep sky blue
  EffectSequence<EFFECT_FORCE,
    
	//Red false start preon
	TransitionEffectL<TrConcat<TrDelay<500>,Black,TrWaveX<RotateColorsX<Variation,Red>,Int<750>,Int<175>,Int<1575>,Int<-3000>>,Black,TrInstant,AlphaL<RandomPerLEDFlicker<RotateColorsX<Variation,Red>,Black>,Bump<Int<12000>,Int<11500>>>,TrDelay<150>>,EFFECT_PREON>,
    
	//Deep sky blue false start preon
	TransitionEffectL<TrConcat<TrDelay<500>,Black,TrWaveX<RotateColorsX<Variation,DeepSkyBlue>,Int<750>,Int<175>,Int<1575>,Int<-3000>>,Black,TrInstant,AlphaL<RandomPerLEDFlicker<RotateColorsX<Variation,DeepSkyBlue>,Black>,Bump<Int<12000>,Int<11500>>>,TrDelay<150>>,EFFECT_PREON>>,
  
  //Noise responsive sparking emitter preon
  TransitionEffectL<TrConcat<TrInstant,AlphaL<White,SmoothStep<Scale<NoisySoundLevel,Int<150>,Int<10000>>,Int<-4000>>>,TrDelayX<WavLen<>>>,EFFECT_PREON>>>(),

The Style Editor is also a “backwards” style Editor already :wink:
Just paste the style into the Editor and click Submit and it already breaks up the layers and populates the Right side for you to edit or read the parameters.

As to the specific “parts” of the style just isolate each layer and test out what it does by clicking on the box it resides in on the right side, then you can breakdown what Layer is doing what. You can also easily swap out layers with other effects/colors, etc by clicking on the box on the right and then choosing other options from the lower left menus.

https://fredrik.hubbe.net/lightsaber/style_editor.html?S=Black

If you’re not familiar with using the Editor I have a “Crash Course” it’s from an older OS but the principals all still apply.

Omg. Totally missed that memo :heart_eyes:

Yeah, the Style Editor is very powerful AND highly addictive. That’s where I got my start in designing styles and effects, there’s virtually unlimited possibilities in what you can design once you learn how it all works.

Oh boy that is a boatload of awesome. Already watched a couple of the videos and am getting the swing of things.

For my first time, backwards engineering a simpler style would be a better learning tool. Problem is, I kinda want to get this style out of my To-Do pile quickly See reason below

The double transitions are throwing me off. Power up sequence and transition vs Force Effect triggered transition. Can you point out the power up layer transition? Since it can power on in either red or blue based upon last used state, I assume it needs to be edited in two places, when on base color blue and base color red. If you can help me out, I’ll give you a cookie.

-----The back story----
The reason for this whole saber project and the speed at which I’m trying to get stuff done. My other half and I were invited to a Star Wars themed wedding in Vegas on April 1. Totally last minute. 30 some odd guests. The couple are hardcore sci-fi fans which suits us just fine.

Anyway, at my suggestion, they are asking guests to get in the spirit and dress up, bring lightsabers, the whole bit. Of course, the two of us are going all out with custom film ready clothing, accessories, and these amazing lightsabers (all 5 of them :joy:). Bride and groom don’t know that yet but the mom is frothing at the mouth with excitement. They are both getting their outfits made with the same designer, going as Leia and Han. Gonna be fantastic. I want us to be in OTHER people’s Vegas vacation photos.

I’m working with another guest or 3 to have a random duel on the dance floor, or in the hallways, or on the strip, or all of the above. Light vs Dark. I think it’d be super cool to have one or more of us turn and start battling the others. Not choreographed since we can’t physically all get together before hand, so just whack a Jedi and have fun.

I liked this particular blade style and want to make several others. LOTS of soundfonts in my collection now. Like choosing a favorite child, which ones to bring…

If you’re in a pinch for time, just use the BladeBuilder in my library and choose either “Dual Phase - Color Change” or “Dual Phase - Force Change” and build your light and dark side styles out. The library will let you pick and choose everything much easier, then you can come back and learn from it when you have time :wink:

Color Change uses the Color Change control to toggle the two phases and Force Change uses the Force effect control so you can pick which you want.

This concept is based on my original “Pull to the Darkness” style from OS1.312, some font makers make their own versions and provide code but the Library will let you build you own very easily specific to what you want.

Yes, I tried that for several hours yesterday, but I’m hitting an issue with the preon to hum timing. The outs have about 1.5 seconds of dead air at the end and the hum starts after.

Other soundfonts seem to be seamless but this one is being difficult.

config.ini in the font folder contains the settings for humStart.

# This specifies how many milliseconds before the end of the "out" sound 
# that the hum starts to fade in.
# Default 100
humStart=1800

As of OS7, there’s a new setting available that is based on timing from the BEGINNING of the out.wav file, unlike humStart which times from the END of the out.wav.

# From ProffieOS 7.x, you can use ProffieOSHumDelay to specify how many milliseconds
# from the beginning of "out" to start the hum. If both ProffieOSHumDelay and humStart
# are specified, then ProffieOSHumDelay is the one that will count.
# Default -1.0
ProffieOSHumDelay=200

Also note that the Style Editor wont reformat the style in the box until you click on the right hand area.
Clicking on the outer-most bracketed level on the right will show the whole style in the box as it’s individual layers.

That wouldn’t have anything to do with the style code. See Brian’s note above. The style code from library only covers the visual effects, your font and it’s set up handle the sound :wink:

Gotcha. Thanks guys. I’ll adjust the .ini for that font for humstart and keep pecking away at the backwards engineering. Maybe I’ll have a ta-da moment👍

OS7 is gonna be a game changer :grin: