Edit Mode question

Using fett263’s OS7 library, I used style options and using functions to build 36 presets designed around the greyscales soundfonts I have. I flashed it to the board and everything is working as expected because of fett263’s absoluetly incredible config helper. It uses about 85% of the flash memory. So I have some more room. I plan to use the combo builder to add some rotoscope style options and make some presets for my favorite BVM fonts. And that got me thinking.

When I originally built the option styles I made sure to include all the ignition, ignition power-ups, retractions, and retraction cool-downs, but I omitted the pre-ons and post-offs for two reasons. Firstly, I usually find pre-ons annoying and I set the saber up to skip them when using gestures to turn the saber on anyway. Secondly, and more importantly, I was worried about running out of memory and thought I could save a bundle by omiting the preon and post-off effect options. Seeing as I have another 15% to use…maybe I can fit them in and have the option of using the preons and postoffs when I use the button to activate the saber? But then I would need to rebuild those option styles and using functions, this time including the preons and postoffs, right? Or would I?

If I wanted to build another set of style options using the combo builder, perhaps focusing on the different rotoscopes fett263 has made, and I included some preon and post-off effect options, would I then be able to use edit mode to apply those preons and post-offs to the style options for my greyscales fonts? Or because I didn’t include them in the greyscales style options, will those preons and post-offs not be applicable to the greyscales presets and only available to the presets built with the combo builder (the rotoscope styles).

I’d rather not rebuild the greyscales option styles and using functions just to include the preons and postoffs, but if I could include them in a new set of style options and apply them to the old style options using edit mode, that would be great. Would that work?

The style options have to exist within the style for that preset. Edit Mode is just telling the board which option for the current style to use, it can’t add options to the style. Technically, the menu checks if the option exists within the style as you go into each mode so if the argument related to a specific option, like Preon, is missing in the current style you can’t even enter that menu because there’s nothing to edit.

If you’re proficient in style editing you can try to cut and paste the missing options into the style you already built, although if you don’t set up correctly you’ll get compile errors and/or it won’t work. The simplest approach is to rebuild the style and include.

Just in case you didn’t notice, the top section of the styles you generate in the library (style information comment) will list all of the options you selected to build the style. This is meant to help you recreate what you already built and then add what you want to it ;-).

1 Like

Yeah, that’s what I thought. That makes perfect sense, but I was hoping I was wrong.

I am certainly NOT proficient in style editing and I would almost certainly not set it up correctly. Your style library makes it so easy to build a style I haven’t (until now) seen the point in learning the style code, so I’ll probably just keep what I have (which is freaking awesome BTW), without the preons and post-offs.

I love the fact that the style recipe is included at the top and it was super useful when setting up the using functions to make sure I was selecting the correct value for the relevant arguments, i.e. “wait, was spark tip option 0 or 1, better check the recipe.”

I understand how that could be used to rebuild it, but that would be a great deal of work for relatively little payoff, so I think I’ll put that in the “maybe someday” category.

Thanks for the quick response, and thanks for the config helper, and thanks for the style library, and thanks for the button prop, and edit mode. Thanks for everything, man.

Sure thing, you’re welcome- glad the tools are helpful.

^That. If you know how to edit a bladestyle you could always just layerize them out and insert the preon and postoff in the correct layer format. Then if you don’t need or want them in bladestyle-x just comment it all out via // Just be sure you know what you’re doing is all and kindly leave Fett’s copyright and upper list info from his bladestyles intact as shown in this example on how I mess around with adding, editing, or removing (commenting out) bits and pieces. You’ll see the // notes I added in as well as where I commented out, in this case the bright swing.

IOW, at some point if you really get into this stuff and wanna go down a fun rabbit-hole, use the StyleEditor to its full advantage and learn blade styling.

MTFBWY!

/* copyright Fett263 JediSurvivor (Primary Blade) OS7 Style
https://www.fett263.com/fett263-proffieOS7-style-library.html#JediSurvivor
OS7.14 v2.241p
Single Style
Base Style: Cal Kestis Survivor Green
Base Color: BaseColorArg (0)
--Effects Included--
Ignition Effect: Glitch On [Color: IgnitionColorArg]
Retraction Effect: Glitch Off [Color: RetractionColorArg]
Lockup Effect:
0: mainLockMulti0Shape - Begin: Full Blade Flash - Style: Intensity AudioFlicker - End: Full Blade Absorb
[Color: LockupColorArg]
Lightning Block Effect:
0: mainLBMulti0Shape - Begin: Full Blade Flash - Style: Strobing AudioFlicker - End: Full Blade Absorb
[Color: LBColorArg]
Drag Effect:
0: mainDragMulti0Shape - Begin: Wipe In - Style: AudioFlicker - End: Wipe Out
[Color: DragColorArg]
Melt Effect:
0: mainMeltMulti0Shape - Begin: Wipe In - Style: Intensity Fire Melt - End: Wipe Out
[Color: StabColorArg]
Blast Effect: Blast Wave (Sound Based) [Color: BlastColorArg]
Clash Effect: Responsive Clash with Wave [Color: ClashColorArg]
*/
//StylePtr<Layers<StripesX<Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<3000>>,Int<4000>,Int<1800>>,Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<2000>,Int<4000>>,Int<-2800>,Int<-4000>>,Mix<Int<16000>,Black,RgbArg<BASE_COLOR_ARG,Rgb<0,255,0>>>,Mix<Sin<Int<20>,Int<22000>,Int<32768>>,Black,RgbArg<BASE_COLOR_ARG,Rgb<0,255,0>>>,Mix<Int<8000>,Black,RgbArg<BASE_COLOR_ARG,Rgb<0,255,0>>>>,TransitionEffectL<TrWaveX<RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>,Scale<WavLen<>,Int<100>,Int<400>>,Int<100>,Scale<WavLen<>,Int<100>,Int<400>>,Scale<EffectPosition<EFFECT_BLAST>,Int<28000>,Int<8000>>>,EFFECT_BLAST>,TransitionEffectL<TrWaveX<RgbArg<CLASH_COLOR_ARG,Rgb<255,255,255>>,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>,LockupTrL<TransitionEffect<AlphaL<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<22000>>>,AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>>>,BrownNoiseFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>>,300>>,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<22000>>>>,AlphaL<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,Mix<Int<20000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>>>,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>>>>,TrExtend<5000,TrInstant>,TrFade<5000>,EFFECT_LOCKUP_BEGIN>,TrConcat<TrJoin<TrDelay<50>,TrInstant>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,AlphaL<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,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,Rgb<255,255,255>>,TrFade<400>>,SaberBase::LOCKUP_NORMAL,Int<1>>,ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,AudioFlicker<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,Blue>,50,1>,TrConcat<TrExtend<200,TrInstant>,RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,TrFade<200>>,TrConcat<TrInstant,RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,TrFade<400>>,Int<1>>,LockupTrL<AlphaL<AudioFlicker<RgbArg<DRAG_COLOR_ARG,Rgb<255,255,255>>,Mix<Int<8164>,Black,RgbArg<DRAG_COLOR_ARG,Rgb<255,255,255>>>>,SmoothStep<Scale<TwistAngle<>,IntArg<DRAG_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG,Int<1>>,LockupTrL<AlphaL<Layers<Stripes<2000,4000,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>,Mix<Sin<Int<50>>,Black,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>,Mix<Int<4096>,Black,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>,TransitionPulseL<TrConcat<TrExtend<4000,TrInstant>,Stripes<2000,3000,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>,Mix<Sin<Int<30>>,Black,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>,Mix<Int<8192>,Black,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>,TrFade<4000>>,LockupPulseF<SaberBase::LOCKUP_MELT>>>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_MELT,Int<1>>,InOutTrL<TrConcat<TrJoin<TrDelayX<Mult<IgnitionTime<300>,Int<16384>>>,TrWipeX<Mult<IgnitionTime<300>,Int<16384>>>>,Mix<SmoothStep<NoisySoundLevel,Int<-1>>,Black,RgbArg<IGNITION_COLOR_ARG,Rgb<255,255,255>>>,TrWipeX<Mult<IgnitionTime<300>,Int<16384>>>>,TrConcat<TrJoin<TrDelayX<Mult<RetractionTime<0>,Int<16384>>>,TrWipeInX<Mult<RetractionTime<0>,Int<16384>>>>,Mix<SmoothStep<NoisySoundLevel,Int<-1>>,Black,RgbArg<RETRACTION_COLOR_ARG,Rgb<255,255,255>>>,TrWipeInX<Mult<RetractionTime<0>,Int<16384>>>>,Black>>>(),
StylePtr<
 Layers<
  //MainBladeEffect
  StripesX<Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<3000>>,Int<4000>,Int<1800>>,Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<2000>,Int<4000>>,Int<-2800>,Int<-4000>>,Mix<Int<16000>,Black,RgbArg<BASE_COLOR_ARG,Green>>,Mix<Sin<Int<20>,Int<22000>,Int<32768>>,Black,RgbArg<BASE_COLOR_ARG,Green>>,Mix<Int<8000>,Black,RgbArg<BASE_COLOR_ARG,Green>>>,
  //AudioFlicker Layer on Main Blade
  AudioFlickerL<RgbArg<BASE_COLOR_ARG,Rgb<0,200,0>>>,
  //BrightSwing Added, subtle but works sweet in the dark.
  //*Brightswong temporarily disabled.
  //AlphaL<RgbArg<SWING_COLOR_ARG,Rgb<60,255,80>>,Scale<IsLessThan<SwingSpeed<600>,Int<13600>>,Scale<SwingSpeed<600>,Int<-19300>,Int<32768>>,Int<0>>>,
  //ForceEffect
  TransitionEffectL<TrConcat<TrFade<300>,Mix<SmoothStep<NoisySoundLevel,Int<-1>>,Green,RgbArg<SWING_COLOR_ARG,Rgb<0,200,60>>>,TrDelayX<Percentage<WavLen<EFFECT_FORCE>,90>>,TrFade<300>>,EFFECT_FORCE>, 
  //EmitterFlare
  AudioFlickerL<AlphaL<RgbArg<EMITTER_COLOR_ARG,Rgb<50,200,200>>,SmoothStep<IntArg<EMITTER_SIZE_ARG,6000>,Int<-9000>>>>,
  //EffectsPack
  TransitionEffectL<TrWaveX<RgbArg<BLAST_COLOR_ARG,White>,Scale<WavLen<EFFECT_BLAST>,Int<100>,Int<400>>,Int<100>,Scale<WavLen<EFFECT_BLAST>,Int<100>,Int<400>>,Scale<BladeAngle<>,Int<28000>,Int<8000>>>,EFFECT_BLAST>,
  TransitionEffectL<TrWaveX<RgbArg<CLASH_COLOR_ARG,White>,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>,
  LockupTrL<TransitionEffect<AlphaL<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<22000>>>,AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>>,BrownNoiseFlicker<RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>,300>>,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<22000>>>>,AlphaL<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<20000>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>>,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>>>>,TrExtend<5000,TrInstant>,TrFade<5000>,EFFECT_LOCKUP_BEGIN>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,White>,TrFade<300>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,White>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,
  ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,White>,AudioFlicker<RgbArg<LB_COLOR_ARG,White>,Blue>,50,1>,TrConcat<TrExtend<200,TrInstant>,RgbArg<LB_COLOR_ARG,White>,TrFade<200>>,TrConcat<TrInstant,RgbArg<LB_COLOR_ARG,White>,TrFade<400>>>,
  LockupTrL<AlphaL<AudioFlicker<RgbArg<DRAG_COLOR_ARG,White>,Mix<Int<8164>,Black,RgbArg<DRAG_COLOR_ARG,White>>>,SmoothStep<Scale<TwistAngle<>,IntArg<DRAG_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG>,
  TransitionEffectL<TrSparkX<AlphaL<White,SmoothStep<Int<25000>,Int<5000>>>,Int<100>,Int<1000>,Int<32768>>,EFFECT_DRAG_BEGIN>,
  LockupTrL<AlphaL<Layers<
  Stripes<2000,4000,RgbArg<STAB_COLOR_ARG,DarkOrange>,Mix<Sin<Int<50>>,Black,RgbArg<STAB_COLOR_ARG,DarkOrange>>,Mix<Int<4096>,Black,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,
  TransitionPulseL<TrConcat<TrExtend<500,TrInstant>,Stripes<2000,3000,RgbArg<STAB_COLOR_ARG,DarkOrange>,Mix<Sin<Int<30>>,Black,RgbArg<STAB_COLOR_ARG,DarkOrange>>,Mix<Int<8192>,Black,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,TrFade<1000>>,LockupPulseF<SaberBase::LOCKUP_MELT>>>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrJoin<TrDelay<175>,TrSparkX<AlphaL<Rgb<240,30,0>,SmoothStep<Int<25000>,Int<5000>>>,Int<100>,Int<1000>,Int<32768>>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,
  //Ignition and Retraction
  InOutTrL<TrConcat<TrJoin<TrDelayX<Mult<IgnitionTime<300>,Int<16384>>>,TrWipeX<Mult<IgnitionTime<300>,Int<16384>>>>,Mix<SmoothStep<NoisySoundLevel,Int<-1>>,Black,RgbArg<IGNITION_COLOR_ARG,Rgb<0,255,0>>>,TrWipeX<Mult<IgnitionTime<300>,Int<16384>>>>,TrConcat<TrJoin<TrDelayX<Mult<RetractionTime<0>,Int<16384>>>,TrWipeInX<Mult<RetractionTime<0>,Int<16384>>>>,Mix<SmoothStep<NoisySoundLevel,Int<-1>>,Black,RgbArg<RETRACTION_COLOR_ARG,Rgb<0,255,0>>>,TrWipeInX<Mult<RetractionTime<0>,Int<16384>>>>,Black>>>(),
 
1 Like

I love it when a blade style comes “layered” and with a comment to indicate what each layer parts are about.

1 Like

Awww, thanks. I’ve began doing it again while I teach one of the kiddo’s the ropes.
It’s normally not included on anything Pastebin.