This has been fixed, you’ll need to refresh the page to get the update.
helloim new to all this i tried the corruption style which im really fascinated! what defines do i need to activate to make it work? also do i just copy paste the kyberphonic font he created specifically for this ability?
when i tried it no sound was coming out Thank you in advance
It will require my prop and
#define FETT263_SPECIAL_ABILITIES
You should also watch the recommended videos at the top of the library, especially Phases and Alt Fonts and the Corruption Effect as you need the font to be set up specifically.
I believe there can be versions of the font all in one folder so you need to set it up on your SD so only one version is included in the font folder.
I got it to work so happy thank you for making this
I’m having an issue in trying to create a color-changing style through the library, where using the code for any styles newly generated on the website that’s using Kyber Select or the Multi-Phase builder will return an error code in Arduino IDE when included in my config. I posted about it on the r/lightsabers discord support channel and was directed to post the full style codes here for continued support:
/* copyright Fett263 Rotoscope (Primary Blade) OS7 Style
https://www.fett263.com/fett263-proffieOS7-style-library.html#Rotoscope
OS7.14 v3.25p
Single Style
Style Option
Base Color: Kyber Select - BaseColorArg - AltColorArg (0)
Kyber Select Interactive Control: While Blade is On, use selected Special Ability to change color (Phase). Requires Alt Font.
NOTE:This style includes Control Layer. Only one Control Layer should be used per preset.
*This style REQUIRES Alt Fonts alt000/ to alt001/ to be set up. Uses altchng.wav on change.
See https://pod.hubbe.net/sound/alt_sounds.html for more information.
--Effects Included--
Ignition Effect: Standard Ignition [Color: IgnitionColorArg]
Retraction Effect: Standard Retraction [Color: RetractionColorArg]
Lockup Effect:
0: mainLockMulti0Shape - Begin: Real Clash - Style: Intensity AudioFlicker - End: Full Blade Absorb
[Color: LockupColorArg]
Lightning Block Effect:
0: mainLBMulti0Shape - Begin: Responsive Impact - Style: Strobing AudioFlicker - End: Full Blade Absorb
[Color: LBColorArg]
Drag Effect:
0: mainDragMulti0Shape - Begin: Wipe In - Style: Intensity Sparking Drag - End: Wipe Out
[Color: DragColorArg]
Melt Effect:
0: mainMeltMulti0Shape - Begin: Wipe In - Style: Intensity Melt - End: Wipe Out
[Color: StabColorArg]
Blast Effect (Randomly Selected): Responsive Blast Fade (Sound Based), Blast Fade (Sound Based) [Color: BlastColorArg]
Clash Effect: Responsive Clash [Color: ClashColorArg]
Battery Level: % Blade (Green to Red)
Display Volume: Blade Location [Color: BaseColorArg]
Special Ability 1: Next Phase
Special Ability 2: Previous Phase
Special Ability 5: Next Phase
Special Ability 6: Previous Phase
*/
StylePtr<Layers<Mix<HoldPeakF<SwingSpeed<250>,Scale<SwingAcceleration<100>,Int<50>,Int<500>>,Scale<SwingAcceleration<>,Int<20000>,Int<10000>>>,RandomFlicker<StripesX<Int<24000>,Scale<HoldPeakF<SwingSpeed<200>,Scale<SwingAcceleration<100>,Int<50>,Int<300>>,Scale<SwingAcceleration<100>,Int<24000>,Int<16000>>>,Int<-1400>,Int<-100>>,ColorSelect<AltF,TrSelect<Ifon<Int<1>,Int<0>>,TrInstant,TrJoin<TrFadeX<Int<150>>,TrWipeX<Int<150>>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,0,255>>,RgbArg<ALT_COLOR_ARG,Rgb<255,0,0>>>,ColorSelect<AltF,TrSelect<Ifon<Int<1>,Int<0>>,TrInstant,TrJoin<TrFadeX<Int<150>>,TrWipeX<Int<150>>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,0,255>>,RgbArg<ALT_COLOR_ARG,Rgb<255,0,0>>>,Mix<Int<7710>,Black,ColorSelect<AltF,TrSelect<Ifon<Int<1>,Int<0>>,TrInstant,TrJoin<TrFadeX<Int<150>>,TrWipeX<Int<150>>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,0,255>>,RgbArg<ALT_COLOR_ARG,Rgb<255,0,0>>>>,ColorSelect<AltF,TrSelect<Ifon<Int<1>,Int<0>>,TrInstant,TrJoin<TrFadeX<Int<150>>,TrWipeX<Int<150>>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,0,255>>,RgbArg<ALT_COLOR_ARG,Rgb<255,0,0>>>,Mix<Int<19276>,Black,ColorSelect<AltF,TrSelect<Ifon<Int<1>,Int<0>>,TrInstant,TrJoin<TrFadeX<Int<150>>,TrWipeX<Int<150>>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,0,255>>,RgbArg<ALT_COLOR_ARG,Rgb<255,0,0>>>>>,ColorSelect<AltF,TrSelect<Ifon<Int<1>,Int<0>>,TrInstant,TrJoin<TrFadeX<Int<150>>,TrWipeX<Int<150>>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,0,255>>,RgbArg<ALT_COLOR_ARG,Rgb<255,0,0>>>>,ColorSelect<AltF,TrSelect<Ifon<Int<1>,Int<0>>,TrInstant,TrJoin<TrFadeX<Int<150>>,TrWipeX<Int<150>>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,0,255>>,RgbArg<ALT_COLOR_ARG,Rgb<255,0,0>>>>,TransitionEffectL<TrDoEffectAlwaysX<TrInstant,EFFECT_ALT_SOUND,ModF<Sum<AltF,Int<1>>,Int<2>>,Int<-1>>,EFFECT_USER1>,TransitionEffectL<TrDoEffectAlwaysX<TrInstant,EFFECT_ALT_SOUND,ModF<Sum<AltF,Int<-1>>,Int<2>>,Int<-1>>,EFFECT_USER2>,TransitionEffectL<TrRandom<TrConcat<TrInstant,AlphaMixL<Bump<Scale<BladeAngle<>,Int<28000>,Int<8000>>,Scale<WavLen<>,Int<9000>,Int<13000>>>,RgbArg<BLAST_COLOR_ARG,Rgb<255,187,108>>,Mix<Int<16384>,Black,RgbArg<BLAST_COLOR_ARG,Rgb<255,187,108>>>>,TrFade<300>>,TrConcat<TrInstant,AlphaMixL<Bump<EffectPosition<EFFECT_BLAST>,Scale<WavLen<>,Int<9000>,Int<12000>>>,RgbArg<BLAST_COLOR_ARG,Rgb<255,187,108>>,Mix<Int<16384>,Black,RgbArg<BLAST_COLOR_ARG,Rgb<255,187,108>>>>,TrFade<300>>>,EFFECT_BLAST>,TransitionEffectL<TrConcat<TrInstant,AlphaL<RgbArg<CLASH_COLOR_ARG,Rgb<255,187,108>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,19569>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,19569>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,19569>,Int<-10000>>>,Scale<ClashImpactF<>,Int<12000>,Int<60000>>>>,TrFadeX<Scale<ClashImpactF<>,Int<200>,Int<400>>>>,EFFECT_CLASH>,LockupTrL<TransitionEffect<AlphaL<AlphaMixL<Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,19569>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,19569>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,19569>,Int<-10000>>>,Scale<SwingSpeed<100>,Int<14000>,Int<22000>>>,AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>>>,BrownNoiseFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>>,300>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,19569>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,19569>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,19569>,Int<-10000>>>,Scale<SwingSpeed<100>,Int<14000>,Int<22000>>>>,AlphaL<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>,Mix<Int<20000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,19569>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,19569>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,19569>,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,187,108>>,AlphaL<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,19569>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,19569>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,19569>,Int<-10000>>>,Scale<ClashImpactF<>,Int<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>,TrFade<400>>,SaberBase::LOCKUP_NORMAL,Int<1>>,ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,Rgb<191,255,255>>,AudioFlicker<RgbArg<LB_COLOR_ARG,Rgb<191,255,255>>,Blue>,50,1>,TrConcat<TrExtend<200,TrInstant>,AlphaL<RgbArg<LB_COLOR_ARG,Rgb<191,255,255>>,Bump<Scale<BladeAngle<>,Int<10000>,Int<21000>>,Int<10000>>>,TrFade<200>>,TrConcat<TrInstant,RgbArg<LB_COLOR_ARG,Rgb<191,255,255>>,TrFade<400>>,Int<1>>,LockupTrL<AlphaL<TransitionEffect<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,Rgb<255,187,108>>>,BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,Rgb<255,187,108>>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep<Scale<TwistAngle<>,IntArg<DRAG_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG,Int<1>>,LockupTrL<AlphaL<Stripes<2000,4000,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>,Mix<Sin<Int<50>>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>>,Mix<Int<4096>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>>>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<HumpFlicker<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>,RotateColorsX<Int<3000>,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>>,100>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT,Int<1>>,SyncAltToVarianceL,InOutTrL<TrWipeX<BendTimePowInvX<IgnitionTime<300>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>,TrWipeInX<BendTimePowX<RetractionTime<610>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>,Black>,TransitionEffectL<TrDoEffectAlwaysX<TrInstant,EFFECT_ALT_SOUND,ModF<Sum<AltF,Int<1>>,Int<2>>,Int<-1>>,EFFECT_USER5>,TransitionEffectL<TrDoEffectAlwaysX<TrInstant,EFFECT_ALT_SOUND,ModF<Sum<AltF,Int<-1>>,Int<2>>,Int<-1>>,EFFECT_USER6>,TransitionEffectL<TrConcat<TrJoin<TrDelay<2000>,TrWipe<1000>>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>,TransitionEffectL<TrConcat<TrExtend<2000,TrFade<100>>,AlphaL<RgbArg<BASE_COLOR_ARG,Rgb<0,0,255>>,Bump<VolumeLevel,Int<8000>>>,TrFade<300>>,EFFECT_VOLUME_LEVEL>>>(),
And the error code I’ve been getting from Arduino IDE is as follows:
Compilation error: could not convert '((StyleHelper<RGBA>*)this)->StyleHelper<RGBA>::getColor2(i)' from 'RGBA' to 'OverDriveColor'
(The full output was a lot longer, unsure if it will be helpful but I can provide it if necessary.)
This is a tricky bug, I believe it’s going to be resolved with OS8 (although it’s been a minute). It’s due to the base style using Stripes with a Transition for the Kyber Select option, which the OS is seeing as “transparency”.
Easiest thing to do, at this time, is just replicate the blade in Blade Builder instead of using “Kyber Select (Special Ability)”. This bug only affects Kyber Select colors when used on a style that runs Stripes, like the Rotoscope options.
We can get the same blade effects with Special Ability selection through Multi-Phase and it will compile and run fine. Just follow below:
- Go to Blade Builder: Fett263's ProffieOS7 Style Library - Public Access
- Set Type to “Multi-Phase (Special Abilities)”
- Select the Rotoscope Style you want for both Style 0 and Style 1 (they can be the same or different)
- Set your Base Color and Alt Color
- Set the Special Ability controls you want
- Set any other options and “Get Style Code”
This will achieve the same effect but through a method the OS prefers. If you haven’t already, be sure to review the Recommended videos at the top of the library for “Phases and Alt Fonts” to ensure your font is properly set up to support.
I have to see if I can write some restrictions on Kyber Select so it doesn’t appear on styles using Stripes, it’s been a while since anyone brought this up so I don’t recall if it was something that proved too hard or not.
Thanks, using a Multi-Phase did the trick! I’d run into a similar error as the Kyber Select version I tried building when I attempted to do this as a multi-phase a couple days ago, but I’m guessing either some setting carried over in the editor or I just messed up somehow when copying it into my config. This time it’s verifying perfectly fine though, and I’m just glad to arrive at something that works
You’re welcome, this bug only appears on Kyber Select when the base style incorporates a Stripes<> component. Multi-Phase wouldn’t be impacted. You possibly pasted the Kyber Select option or it didn’t save before attempting the upload. Glad it’s working now.