Blade style not doing what is intended

I have this pixel ring that I’m trying to come up with different styles for, or at least variations of styles, and I am running into a little problem. All I want to do is reverse this effect:

Mix<LinearSectionF<Saw<Int<50>>,Int<3000>>,Black,RgbArg<BASE_COLOR_ARG,Blue>>

I have done so with:

Mix<LinearSectionF<Saw<Int<50>,Int<0>,Int<32768>>,Int<3000>>,Black,RgbArg<BASE_COLOR_ARG,Blue>>

Everything works fine in the editor, but when it gets loaded up on the saber it displays normal, running forward, not reversed. Is there a reason why this works in the editor, but not in real life?

I am running OS 7.14.

how about Remap<InvertF<RampF>,Mix<LinearSectionF<Saw<Int<50>>,Int<3000>>,Black,RgbArg<BASE_COLOR_ARG,Blue>>>
This doesn’t answer your question, but should make it do what you want.

1 Like

That did the trick! Thanks!

Shouldn’t you be using CircularSectionF ?

I looked at the code, but I don’t see any reason for this.
Seems like it should work.

Shouldn’t you be using CircularSectionF ?

Probably, but my ignorance prevented me from doing so. I get that the circular part of it applies to the ring aspect, but what does it do or help with that linear does not? Does it make for a more seamless transition from the end of the circle to the beginning?

That is exactly correct.
The CircularSection has the ability to light up both the beginning and the end of the string during the transition, LinearSection does not.

1 Like

I went through and updated the styles using circular section and it does work… kinda. It works within a style that uses Fett’s party mode and switches between similar styles (forward, backward, slower, faster, etc…), but when it’s the main style it does not. It still runs forward. For example, this style which has a slow reverse off and a fast forward on shows as forward for both on the saber.

StylePtr<Layers<
  Mix<CircularSectionF<Saw<Scale<Sin<Int<10>,Int<0>,Int<32768>>,Int<100>,Int<200>>>,Int<3000>>,Black,RgbArg<BASE_COLOR_ARG,Rgb<180,130,0>>>,
  TransitionEffectL<TrConcat<TrJoin<TrDelay<30>,TrInstant>,RgbArg<BLAST_COLOR_ARG,LightCyan>,TrFade<300>>,EFFECT_BLAST>,
  TransitionEffectL<TrConcat<TrJoin<TrDelay<30>,TrInstant>,RgbArg<CLASH_COLOR_ARG,LemonChiffon>,TrFade<300>>,EFFECT_CLASH>,
  LockupTrL<TransitionEffect<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,LemonChiffon>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,LemonChiffon>>>,AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,LemonChiffon>,Mix<Int<20000>,Black,RgbArg<LOCKUP_COLOR_ARG,LemonChiffon>>>,TrExtend<5000,TrInstant>,TrFade<5000>,EFFECT_LOCKUP_BEGIN>,TrConcat<TrJoin<TrDelay<50>,TrInstant>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,RgbArg<LOCKUP_COLOR_ARG,LemonChiffon>,AlphaL<RgbArg<LOCKUP_COLOR_ARG,LemonChiffon>,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,RgbArg<LOCKUP_COLOR_ARG,LemonChiffon>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,
  LockupTrL<Strobe<RgbArg<LB_COLOR_ARG,Rgb<180,180,255>>,AudioFlicker<RgbArg<LB_COLOR_ARG,Rgb<180,180,255>>,Blue>,50,1>,TrConcat<TrExtend<200,TrInstant>,AlphaL<RgbArg<LB_COLOR_ARG,Rgb<180,180,255>>,Bump<Scale<BladeAngle<>,Int<10000>,Int<21000>>,Int<10000>>>,TrFade<200>>,TrConcat<TrInstant,RgbArg<LB_COLOR_ARG,Rgb<180,180,255>>,TrFade<400>>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,
  LockupTrL<AlphaL<TransitionEffect<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,White>>,BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,White>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep<Scale<TwistAngle<>,IntArg<DRAG_SIZE_ARG,31000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG>,
  LockupTrL<AlphaL<Stripes<2000,4000,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,Mix<Sin<Int<50>>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,Mix<Int<4096>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,26000>,Int<30000>>,Int<3000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<HumpFlicker<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,RotateColorsX<Int<3000>,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,100>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,26000>,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,
  InOutTrL<TrInstant,TrInstant,Mix<CircularSectionF<Saw<Int<50>,Int<0>,Int<32768>>,Int<3000>>,Black,RgbArg<OFF_COLOR_ARG,Rgb<180,130,0>>>>>>(),
1 Like

Well I wouldn’t expect CircularSectionF to solve the forward/backwards problem.
LinearSectionF and CircularSectionF should behave the same in this regard.