Issue with 4.6 creating huge memory increase

Compiling with 4.7 gets this error.

/Users/happydan/Library/Arduino15/packages/proffieboard_experimental/tools/arm-none-eabi-gcc/15-2-1-xpack-1-1/bin/../lib/gcc/arm-none-eabi/15.2.1/../../../../arm-none-eabi/bin/ld:/Users/happydan/Library/Arduino15/packages/proffieboard_experimental/hardware/stm32l4/4.7/variants/STM32L433CC-ProffieboardV2/linker_scripts/STM32L433CC_FLASH.ld:224: warning: memory region `SRAM2' not declared
lto-wrapper: warning: using serial compilation of 9 LTRANS jobs
lto-wrapper: note: see the '-flto' option documentation for more information
/Users/happydan/Library/Arduino15/packages/proffieboard_experimental/tools/arm-none-eabi-gcc/15-2-1-xpack-1-1/bin/../lib/gcc/arm-none-eabi/15.2.1/../../../../arm-none-eabi/bin/ld: /Users/happydan/Library/Caches/arduino/sketches/6DE1F29CDD34C035331F7BBC65EAFE03/ProffieOS.ino.elf section `.text' will not fit in region `FLASH'
/Users/happydan/Library/Arduino15/packages/proffieboard_experimental/tools/arm-none-eabi-gcc/15-2-1-xpack-1-1/bin/../lib/gcc/arm-none-eabi/15.2.1/../../../../arm-none-eabi/bin/ld: region `FLASH' overflowed by 18864 bytes
collect2: error: ld returned 1 exit status
exit status 1

Compilation error: exit status 1

Thanks man. *At least yours recognized the xpack as 15.

I did run the nightly Arduino build and still got the same results.

@profezzorn Not sure as to next steps, let us know when something else needs to be tried out.

Hmmm. I get the same in 4.6.

This is the config.

Even with just one preset:

`FLASH’ overflowed by 18864 bytes

1 Like

Oof. That’s a lot.

Is it possible it’s creating redundant copies that are bloating the flash memory and creating loops that slow down the compiling?

1 Like

Could it still be counting the existing flash on top of the new one?

My guess is it’s not being efficient in compiling. My presets usually have shared similarities (clash effects, pre-ons, blaster, ignitions, etc) so maybe it’s just not picking them up as same and just making new bloat just because the main blade is different?

Spitballing here. Some of this is above my “pay grade” but I figure I may as well ask.

  • Did anything change in how arg is being compiled? Asking because across the referenced configs the use of argified bladestyles is a constant I am seeing. Again, simply spitballing, sharing a thought. Not necessarily just 3.6 to 4.6 but some piece of the puzzle being on Arduino’s side.

  • Additionally does mixing arg with standard syntax bladestyles disrupt the compile “flow” in a way that would or could relate to the long compile times and final size in 4.6? Say things are in a mode to expect “this” (arg) but then are faced with “that” (standard syntax)?

  • Could it be the two additional folders (libraries) in OS8 being referenced by 4.6 too much? Between OS7 and OS8 both modes and pqoi were added as main folders from what I see.
    Is there a different way to place them or is that not even applicable?

So is this bloated flash issue something that happens to all OS8 compilations, or is it intermittent? I always figured it was a v.2.2 issue due to the reduced ROM space, but it’s mad it happens on v3.9 boards.

1 Like

Not sure what you mean exactly.
OS8 will generally use a little more flash than OS7, but not that much unless you use the new menu system.

Bruinrogue’s Aniflex config has 41 presets in it, many large and complicated, and it uses up most of the memory on a V3 board regardless of how you compile it. However, with OS8, it uses a little more, and with 4.6.0 it uses a chunk more, and goes over. (which is unrelated to the any extra memory used by OS8.)

41 presets is kind of a lot though, so while I would like to reduce the amount of memory used, I’m not stressing about it… :slight_smile:

1 Like

Will also note that on my 2.2 configs and boards, things that were from 80-90% full are now well over 100-150% full with the jump from 3.6 to 4.6/4.7. None of my 2.2’s can run 4.6/4.7 unless I limit to maybe 10-12 simple presets.

Feels like the more complicated the preset, the less efficient 4.6/4.7 are compared to 3.6. The OS’s themselves aren’t as big a difference (1-4% mostly). 40 to 60k bytes different between 3.6 and 4.7 is a huge chunk.

1 Like

That and the compile times… seems a horrible experience for testing changes.

1 Like

I wrote a script and compiled Aniflex.h for a V3 board with arduno-cli.
Here are the results:

bytes 3.6 4.6 4.7
7.15 469568 519480 518336
8.10 480152 522784 522768

8.10 takes a little extra space, but the difference is larger on 3.6 than on 4.6/4.7 for some reason.
(11kb vs. 3kb)

time 3.6 4.6 4.7
7.15 0m31.970s 0m32.983s 0m33.281s
8.10 1m50.458s 3m58.665s 3m59.142s

So, on my machine 7.15 takes ~30 s to compile, regardless of which compiler version is used.
8.10 takes 4 times longer with 3.6, and 8 times longer with 4.6 or 4.7.

Please remember that Aniflex.h a pretty large and complicated file, these results are likely to be close to worst case scenarios.

I still don’t know why these numbers don’t play out the same way for everybody, or why the binary size would come out different the second time you compile. My script runs each compile twice, and it comes out the same each time. However, arduino-cli might not work exactly the same as arduino itself.

I should probably also mention that all of these experiments were run on the “package_proffieboard_experimental_index.json” file. 3.6 / 4.6 on the experimental file is supposed to be identical to 3.6 4.6 on the production file, but there is always a possibility that I messed it up somehow.

I’m attaching the script I used in case someone else wants to try it. It’s written for linux, but should also work on a Mac I think.
compile.sh (1.3 KB)

1 Like

Spitballing here again. I could swear I’d posted the idea but don’t see it.

Would going into Style Editor and hitting Layerize so as not only to layerize things but optimize the code work? As-in go through every preset and see what the Style Editor pushes out instead, thus possibly etching away at some of the style sizing? Better yet, optimize each and every bladestyle in that config and then rerun compile to see if space was made.

Example - preset 2: Put it into the Style Editor and Layerize it out. Then simply edit it if you want it back into a single line. It gives some “visual space” and the line reads shorter. Will that translate into what amounts to reorganized and optimized use of space, translating into config space? Like when red and yellow are boiled down to their naming versus rgb values.

What’s in preset 2’s main blade on the Aniflex.h config

StylePtr<Layers<ColorSelect<IntArg<STYLE_OPTION_ARG,0>,TrInstant,Mix<HoldPeakF<SwingSpeed<250>,Scale<SwingAcceleration<100>,Int<50>,Int<500>>,Scale<SwingAcceleration<>,Int<20000>,Int<10000>>>,RandomFlicker<StripesX<Int<15000>,Scale<HoldPeakF<SwingSpeed<200>,Scale<SwingAcceleration<100>,Int<50>,Int<300>>,Scale<SwingAcceleration<100>,Int<24000>,Int<16000>>>,Int<-3200>,Int<-200>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>,Mix<Int<7710>,Black,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>,Mix<Int<19276>,Black,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>,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<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>,Mix<Int<7710>,Black,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>,Mix<Int<19276>,Black,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>>,TransitionEffectL<TrSelect<IntArg<IGNITION_POWER_UP_ARG,0>,TrInstant,TrConcat<TrJoin<TrDelayX<IgnitionTime<300>>,TrInstant>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,TrFade<1000>>,TrConcat<TrJoin<TrDelayX<IgnitionTime<300>>,TrInstant>,Stripes<3000,-3500,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RandomPerLEDFlicker<Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,Black>,BrownNoiseFlicker<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Mix<Int<3855>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,200>,RandomPerLEDFlicker<Mix<Int<3137>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,Mix<Int<3855>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>>,TrFade<800>>,TrConcat<TrJoin<TrDelayX<IgnitionTime<300>>,TrInstant>,Stripes<5000,-2500,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,Mix<Int<3855>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>,TrFade<800>>,TrConcat<TrJoin<TrDelayX<IgnitionTime<300>>,TrInstant>,AlphaL<Stripes<5000,-2500,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,Mix<Int<3855>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>,SmoothStep<IntArg<EMITTER_SIZE_ARG,2000>,Int<-500>>>,TrFade<500>>,TrConcat<TrInstant,AudioFlickerL<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,TrFade<1200>>>,EFFECT_IGNITION>,TransitionEffectL<TrSelect<IntArg<RETRACTION_COOL_DOWN_ARG,0>,TrInstant,TrConcat<TrJoin<TrDelayX<RetractionTime<0>>,TrInstant>,RgbArg<RETRACTION_COLOR_ARG,Rgb<255,255,255>>,TrFade<1000>>,TrConcat<TrJoin<TrDelayX<RetractionTime<0>>,TrInstant>,Stripes<5000,2500,RgbArg<RETRACTION_COLOR_ARG,Rgb<255,255,255>>,Mix<Int<7710>,Black,RgbArg<RETRACTION_COLOR_ARG,Rgb<255,255,255>>>,Mix<Int<3855>,Black,RgbArg<RETRACTION_COLOR_ARG,Rgb<255,255,255>>>>,TrFade<800>>,TrConcat<TrJoin<TrDelayX<RetractionTime<0>>,TrInstant>,Stripes<3000,3500,RgbArg<RETRACTION_COLOR_ARG,Rgb<255,255,255>>,RandomPerLEDFlicker<Mix<Int<7710>,Black,RgbArg<RETRACTION_COLOR_ARG,Rgb<255,255,255>>>,Black>,BrownNoiseFlicker<RgbArg<RETRACTION_COLOR_ARG,Rgb<255,255,255>>,Mix<Int<3855>,Black,RgbArg<RETRACTION_COLOR_ARG,Rgb<255,255,255>>>,200>,RandomPerLEDFlicker<Mix<Int<3137>,Black,RgbArg<RETRACTION_COLOR_ARG,Rgb<255,255,255>>>,Mix<Int<3855>,Black,RgbArg<RETRACTION_COLOR_ARG,Rgb<255,255,255>>>>>,TrFade<800>>>,EFFECT_RETRACTION>,TransitionEffectL<TrConcat<TrJoin<TrDelayX<WavLen<>>,TrWipeIn<200>>,AlphaL<RandomPerLEDFlickerL<RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>,SmoothStep<IntArg<MELT_SIZE_ARG,28000>,Int<2000>>>,TrWipe<200>>,EFFECT_STAB>,TransitionEffectL<TrWaveX<RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>,Scale<EffectRandomF<EFFECT_BLAST>,Int<100>,Int<400>>,Int<100>,Scale<EffectPosition<EFFECT_BLAST>,Int<100>,Int<400>>,Scale<EffectPosition<EFFECT_BLAST>,Int<28000>,Int<8000>>>,EFFECT_BLAST>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrConcat<TrInstant,AlphaL<RgbArg<CLASH_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<12000>,Int<60000>>>>,TrFadeX<Scale<ClashImpactF<>,Int<200>,Int<400>>>>,EFFECT_CLASH>,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>,AlphaL<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,Bump<Scale<BladeAngle<>,Int<10000>,Int<21000>>,Int<10000>>>,TrFade<200>>,TrConcat<TrInstant,RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,TrFade<400>>,Int<1>>,LockupTrL<AlphaL<TransitionEffect<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,Rgb<255,255,255>>>,BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,Rgb<255,255,255>>,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>>,InOutTrL<TrSelect<IntArg<IGNITION_OPTION_ARG,0>,TrWipeSparkTipX<RgbArg<IGNITION_COLOR_ARG,Rgb<255,255,255>>,BendTimePowInvX<IgnitionTime<300>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>,TrWipeX<Scale<IsLessThan<BladeAngle<>,Int<16000>>,Mult<IgnitionTime<300>,Int<16384>>,IgnitionTime<300>>>,TrConcat<TrSparkX<RgbArg<IGNITION_COLOR_ARG,Rgb<255,255,255>>,Int<100>,Mult<IgnitionTime<300>,Int<6554>>,Int<32768>>,AlphaL<Black,SmoothStep<Int<6554>,Int<0>>>,TrSparkX<RgbArg<IGNITION_COLOR_ARG,Rgb<255,255,255>>,Int<100>,Mult<IgnitionTime<300>,Int<6554>>,Int<32768>>,AlphaL<Black,SmoothStep<Int<13108>,Int<0>>>,TrSparkX<RgbArg<IGNITION_COLOR_ARG,Rgb<255,255,255>>,Int<100>,Mult<IgnitionTime<300>,Int<6554>>,Int<32768>>,AlphaL<Black,SmoothStep<Int<19662>,Int<0>>>,TrSparkX<RgbArg<IGNITION_COLOR_ARG,Rgb<255,255,255>>,Int<100>,Mult<IgnitionTime<300>,Int<6554>>,Int<32768>>,AlphaL<Black,SmoothStep<Int<26216>,Int<0>>>,TrSparkX<RgbArg<IGNITION_COLOR_ARG,Rgb<255,255,255>>,Int<100>,Mult<IgnitionTime<300>,Int<6554>>,Int<32768>>>,TrConcat<TrInstant,AlphaL<Black,LayerFunctions<LinearSectionF<Int<6144>,Scale<Trigger<EFFECT_IGNITION,IgnitionTime<300>,IgnitionTime<300>,Int<0>>,Int<12288>,Int<0>>>,LinearSectionF<Int<16384>,Scale<Trigger<EFFECT_IGNITION,IgnitionTime<300>,IgnitionTime<300>,Int<0>>,Int<12288>,Int<0>>>,LinearSectionF<Int<26624>,Scale<Trigger<EFFECT_IGNITION,IgnitionTime<300>,IgnitionTime<300>,Int<0>>,Int<12288>,Int<0>>>>>,TrDelayX<IgnitionTime<300>>>,TrConcat<TrInstant,AlphaL<Black,LayerFunctions<LinearSectionF<Int<0>,Scale<Trigger<EFFECT_IGNITION,IgnitionTime<300>,Int<0>,Int<0>>,Int<16384>,Int<0>>>,LinearSectionF<Int<16384>,Scale<Trigger<EFFECT_IGNITION,IgnitionTime<300>,Int<0>,Int<0>>,Int<16384>,Int<0>>>,LinearSectionF<Int<32768>,Scale<Trigger<EFFECT_IGNITION,IgnitionTime<300>,Int<0>,Int<0>>,Int<16384>,Int<0>>>>>,TrDelayX<IgnitionTime<300>>>,TrColorCycleX<BendTimePowInvX<IgnitionTime<300>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>>,TrSelect<IntArg<RETRACTION_OPTION_ARG,0>,TrWipeInSparkTipX<RotateColorsX<Int<4096>,RgbArg<RETRACTION_COLOR_ARG,Rgb<255,255,255>>>,BendTimePowX<RetractionTime<0>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>,TrWipeInX<Scale<IsLessThan<BladeAngle<>,Int<16000>>,Mult<RetractionTime<0>,Int<16384>>,RetractionTime<0>>>,TrConcat<TrSparkX<ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>,Int<100>,Mult<RetractionTime<0>,Int<6554>>,Int<0>>,AlphaL<Black,SmoothStep<Int<26216>,Int<0>>>,TrSparkX<ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>,Int<100>,Mult<RetractionTime<0>,Int<6554>>,Int<0>>,AlphaL<Black,SmoothStep<Int<19662>,Int<0>>>,TrSparkX<ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>,Int<100>,Mult<RetractionTime<0>,Int<6554>>,Int<0>>,AlphaL<Black,SmoothStep<Int<13108>,Int<0>>>,TrSparkX<ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>,Int<100>,Mult<RetractionTime<0>,Int<6554>>,Int<0>>,AlphaL<Black,SmoothStep<Int<6554>,Int<0>>>,TrSparkX<ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>,Int<100>,Mult<RetractionTime<0>,Int<6554>>,Int<0>>>,TrConcat<TrInstant,AlphaL<Black,LayerFunctions<LinearSectionF<Int<6144>,Scale<Trigger<EFFECT_RETRACTION,RetractionTime<0>,RetractionTime<0>,Int<0>>,Int<0>,Int<12288>>>,LinearSectionF<Int<16384>,Scale<Trigger<EFFECT_RETRACTION,RetractionTime<0>,RetractionTime<0>,Int<0>>,Int<0>,Int<12288>>>,LinearSectionF<Int<26624>,Scale<Trigger<EFFECT_RETRACTION,RetractionTime<0>,RetractionTime<0>,Int<0>>,Int<0>,Int<12288>>>>>,TrDelayX<RetractionTime<0>>>,TrConcat<TrInstant,AlphaL<Black,LayerFunctions<LinearSectionF<Int<0>,Scale<Trigger<EFFECT_RETRACTION,RetractionTime<0>,Int<0>,Int<0>>,Int<0>,Int<16384>>>,LinearSectionF<Int<16384>,Scale<Trigger<EFFECT_RETRACTION,RetractionTime<0>,Int<0>,Int<0>>,Int<0>,Int<16384>>>,LinearSectionF<Int<32768>,Scale<Trigger<EFFECT_RETRACTION,RetractionTime<0>,Int<0>,Int<0>>,Int<0>,Int<16384>>>>>,TrDelayX<RetractionTime<0>>>,TrColorCycleX<BendTimePowX<RetractionTime<0>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,TrInstant,Mix<SmoothStep<IntArg<EMITTER_SIZE_ARG,2000>,Int<-2000>>,Black,ColorSelect<Scale<TwistAngle<>,Int<0>,Int<7>>,TrInstant,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Rgb<255,255,0>>,RgbArg<ALT_COLOR3_ARG,Rgb<0,255,0>>,RgbArg<EMITTER_COLOR_ARG,Rgb<0,0,255>>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>,Black>>,TransitionEffectL<TrSelect<IntArg<PREON_OPTION_ARG,0>,TrInstant,TrConcat<TrFadeX<Mult<Int<4096>,WavLen<EFFECT_PREON>>>,AlphaL<PulsingL<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Int<800>>,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-4000>>>,TrDelayX<Mult<Int<28672>,WavLen<EFFECT_PREON>>>>,TrConcat<TrFadeX<Mult<Int<8192>,WavLen<EFFECT_PREON>>>,AlphaL<HumpFlickerL<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,10>,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-4000>>>,TrFadeX<Mult<Int<8192>,WavLen<EFFECT_PREON>>>,AlphaL<HumpFlickerL<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,15>,SmoothStep<Sum<Int<2000>,IntArg<PREON_SIZE_ARG,2000>>,Int<-4000>>>,TrFadeX<Mult<Int<8192>,WavLen<EFFECT_PREON>>>,AlphaL<HumpFlickerL<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,20>,SmoothStep<Sum<Int<4000>,IntArg<PREON_SIZE_ARG,2000>>,Int<-4000>>>,TrBoingX<Mult<Int<8192>,WavLen<EFFECT_PREON>>,3>>,TrConcat<TrExtendX<WavLen<EFFECT_PREON>,TrFade<100>>,AlphaL<HumpFlickerL<Mix<Trigger<EFFECT_PREON,Mult<WavLen<EFFECT_PREON>,Int<24000>>,WavLen<EFFECT_PREON>,Int<500>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,White>,20>,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-3000>>>,TrFade<200>>,TrConcat<TrInstant,AlphaL<AudioFlickerL<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-4000>>>,TrLoopN<8,TrSparkX<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Int<200>,Divide<WavLen<EFFECT_PREON>,Int<8>>,Int<32768>>>>,TrConcat<TrExtendX<WavLen<EFFECT_PREON>,TrInstant>,AlphaL<PulsingL<Mix<Int<16384>,White,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,Int<300>>,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-2000>>>,TrLoopN<9,TrBoingX<Mult<WavLen<EFFECT_PREON>,Int<2458>>,3>>>>,EFFECT_PREON>,TransitionEffectL<TrSelect<IntArg<OFF_OPTION_ARG,0>,TrInstant,TrConcat<TrInstant,AlphaL<White,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-4000>>>,TrFadeX<Mult<Scale<IsLessThan<WavLen<EFFECT_POSTOFF>,Int<200>>,WavLen<EFFECT_POSTOFF>,Int<4000>>,Int<10923>>>,AlphaL<Orange,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-4000>>>,TrFadeX<Mult<Scale<IsLessThan<WavLen<EFFECT_POSTOFF>,Int<200>>,WavLen<EFFECT_POSTOFF>,Int<4000>>,Int<10923>>>,AlphaL<Red,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-2000>>>,TrFadeX<Mult<Scale<IsLessThan<WavLen<EFFECT_POSTOFF>,Int<200>>,WavLen<EFFECT_POSTOFF>,Int<4000>>,Int<10923>>>>,TrConcat<TrInstant,AlphaL<BrownNoiseFlickerL<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Int<30>>,SmoothStep<Scale<SlowNoise<Int<2000>>,IntArg<PREON_SIZE_ARG,2000>,Sum<IntArg<PREON_SIZE_ARG,2000>,Int<3000>>>,Int<-4000>>>,TrDelayX<Scale<IsLessThan<WavLen<EFFECT_POSTOFF>,Int<200>>,WavLen<EFFECT_POSTOFF>,Int<4000>>>>,TrConcat<TrInstant,AlphaL<White,Int<0>>,TrJoin<TrDelay<1000>,TrInstant>,AlphaL<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-2000>>>,TrSmoothFadeX<Scale<IsLessThan<WavLen<EFFECT_POSTOFF>,Int<200>>,WavLen<EFFECT_POSTOFF>,Int<4000>>>>>,EFFECT_POSTOFF>>>(),

Versus cleaned up


StylePtr<Layers<ColorSelect<IntArg<STYLE_OPTION_ARG,0>,TrInstant,Mix<HoldPeakF<SwingSpeed<250>,Scale<SwingAcceleration<100>,Int<50>,Int<500>>,Scale<SwingAcceleration<>,Int<20000>,Int<10000>>>,RandomFlicker<StripesX<Int<15000>,Scale<HoldPeakF<SwingSpeed<200>,Scale<SwingAcceleration<100>,Int<50>,Int<300>>,Scale<SwingAcceleration<100>,Int<24000>,Int<16000>>>,Int<-3200>,Int<-200>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>,Mix<Int<7710>,Black,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>,Mix<Int<19276>,Black,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,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<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>,Mix<Int<7710>,Black,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>,Mix<Int<19276>,Black,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,TransitionEffectL<TrSelect<IntArg<IGNITION_POWER_UP_ARG,0>,TrInstant,TrConcat<TrJoin<TrDelayX<IgnitionTime<>>,TrInstant>,RgbArg<BASE_COLOR_ARG,Red>,TrFade<1000>>,TrConcat<TrJoin<TrDelayX<IgnitionTime<>>,TrInstant>,Stripes<3000,-3500,RgbArg<BASE_COLOR_ARG,Red>,RandomPerLEDFlicker<Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Red>>,Black>,BrownNoiseFlicker<RgbArg<BASE_COLOR_ARG,Red>,Mix<Int<3855>,Black,RgbArg<BASE_COLOR_ARG,Red>>,200>,RandomPerLEDFlicker<Mix<Int<3137>,Black,RgbArg<BASE_COLOR_ARG,Red>>,Mix<Int<3855>,Black,RgbArg<BASE_COLOR_ARG,Red>>>>,TrFade<800>>,TrConcat<TrJoin<TrDelayX<IgnitionTime<>>,TrInstant>,Stripes<5000,-2500,RgbArg<BASE_COLOR_ARG,Red>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Red>>,Mix<Int<3855>,Black,RgbArg<BASE_COLOR_ARG,Red>>>,TrFade<800>>,TrConcat<TrJoin<TrDelayX<IgnitionTime<>>,TrInstant>,AlphaL<Stripes<5000,-2500,RgbArg<BASE_COLOR_ARG,Red>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Red>>,Mix<Int<3855>,Black,RgbArg<BASE_COLOR_ARG,Red>>>,SmoothStep<IntArg<EMITTER_SIZE_ARG,2000>,Int<-500>>>,TrFade<500>>,TrConcat<TrInstant,AudioFlickerL<RgbArg<BASE_COLOR_ARG,Red>>,TrFade<1200>>>,EFFECT_IGNITION>,TransitionEffectL<TrSelect<IntArg<RETRACTION_COOL_DOWN_ARG,0>,TrInstant,TrConcat<TrJoin<TrDelayX<RetractionTime<>>,TrInstant>,RgbArg<RETRACTION_COLOR_ARG,White>,TrFade<1000>>,TrConcat<TrJoin<TrDelayX<RetractionTime<>>,TrInstant>,Stripes<5000,2500,RgbArg<RETRACTION_COLOR_ARG,White>,Mix<Int<7710>,Black,RgbArg<RETRACTION_COLOR_ARG,White>>,Mix<Int<3855>,Black,RgbArg<RETRACTION_COLOR_ARG,White>>>,TrFade<800>>,TrConcat<TrJoin<TrDelayX<RetractionTime<>>,TrInstant>,Stripes<3000,3500,RgbArg<RETRACTION_COLOR_ARG,White>,RandomPerLEDFlicker<Mix<Int<7710>,Black,RgbArg<RETRACTION_COLOR_ARG,White>>,Black>,BrownNoiseFlicker<RgbArg<RETRACTION_COLOR_ARG,White>,Mix<Int<3855>,Black,RgbArg<RETRACTION_COLOR_ARG,White>>,200>,RandomPerLEDFlicker<Mix<Int<3137>,Black,RgbArg<RETRACTION_COLOR_ARG,White>>,Mix<Int<3855>,Black,RgbArg<RETRACTION_COLOR_ARG,White>>>>,TrFade<800>>>,EFFECT_RETRACTION>,TransitionEffectL<TrConcat<TrJoin<TrDelayX<WavLen<EFFECT_STAB>>,TrWipeIn<200>>,AlphaL<RandomPerLEDFlickerL<RgbArg<STAB_COLOR_ARG,DarkOrange>>,SmoothStep<IntArg<MELT_SIZE_ARG,28000>,Int<2000>>>,TrWipe<200>>,EFFECT_STAB>,TransitionEffectL<TrWaveX<RgbArg<BLAST_COLOR_ARG,White>,Scale<EffectRandomF<EFFECT_BLAST>,Int<100>,Int<400>>,Int<100>,Scale<EffectPosition<EFFECT_BLAST>,Int<100>,Int<400>>,Scale<EffectPosition<EFFECT_BLAST>,Int<28000>,Int<8000>>>,EFFECT_BLAST>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrConcat<TrInstant,AlphaL<RgbArg<CLASH_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<ClashImpactF<>,Int<12000>,Int<60000>>>>,TrFadeX<Scale<ClashImpactF<>,Int<200>,Int<400>>>>,EFFECT_CLASH>,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<TrJoin<TrDelay<50>,TrInstant>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,RgbArg<LOCKUP_COLOR_ARG,White>,AlphaL<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<ClashImpactF<>,Int<20000>,Int<60000>>>>>,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>,AlphaL<RgbArg<LB_COLOR_ARG,White>,Bump<Scale<BladeAngle<>,Int<10000>,Int<21000>>,Int<10000>>>,TrFade<200>>,TrConcat<TrInstant,RgbArg<LB_COLOR_ARG,White>,TrFade<400>>>,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,28000>,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,28000>,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,28000>,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,InOutTrL<TrSelect<IntArg<IGNITION_OPTION_ARG,0>,TrWipeSparkTipX<RgbArg<IGNITION_COLOR_ARG,White>,BendTimePowInvX<IgnitionTime<>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>,TrWipeX<Scale<IsLessThan<BladeAngle<>,Int<16000>>,Mult<IgnitionTime<>,Int<16384>>,IgnitionTime<>>>,TrConcat<TrSparkX<RgbArg<IGNITION_COLOR_ARG,White>,Int<100>,Mult<IgnitionTime<>,Int<6554>>,Int<32768>>,AlphaL<Black,SmoothStep<Int<6554>,Int<0>>>,TrSparkX<RgbArg<IGNITION_COLOR_ARG,White>,Int<100>,Mult<IgnitionTime<>,Int<6554>>,Int<32768>>,AlphaL<Black,SmoothStep<Int<13108>,Int<0>>>,TrSparkX<RgbArg<IGNITION_COLOR_ARG,White>,Int<100>,Mult<IgnitionTime<>,Int<6554>>,Int<32768>>,AlphaL<Black,SmoothStep<Int<19662>,Int<0>>>,TrSparkX<RgbArg<IGNITION_COLOR_ARG,White>,Int<100>,Mult<IgnitionTime<>,Int<6554>>,Int<32768>>,AlphaL<Black,SmoothStep<Int<26216>,Int<0>>>,TrSparkX<RgbArg<IGNITION_COLOR_ARG,White>,Int<100>,Mult<IgnitionTime<>,Int<6554>>,Int<32768>>>,TrConcat<TrInstant,AlphaL<Black,LayerFunctions<LinearSectionF<Int<6144>,Scale<Trigger<EFFECT_IGNITION,IgnitionTime<>,IgnitionTime<>,Int<0>>,Int<12288>,Int<0>>>,LinearSectionF<Int<16384>,Scale<Trigger<EFFECT_IGNITION,IgnitionTime<>,IgnitionTime<>,Int<0>>,Int<12288>,Int<0>>>,LinearSectionF<Int<26624>,Scale<Trigger<EFFECT_IGNITION,IgnitionTime<>,IgnitionTime<>,Int<0>>,Int<12288>,Int<0>>>>>,TrDelayX<IgnitionTime<>>>,TrConcat<TrInstant,AlphaL<Black,LayerFunctions<LinearSectionF<Int<0>,Scale<Trigger<EFFECT_IGNITION,IgnitionTime<>,Int<0>,Int<0>>,Int<16384>,Int<0>>>,LinearSectionF<Int<16384>,Scale<Trigger<EFFECT_IGNITION,IgnitionTime<>,Int<0>,Int<0>>,Int<16384>,Int<0>>>,LinearSectionF<Int<32768>,Scale<Trigger<EFFECT_IGNITION,IgnitionTime<>,Int<0>,Int<0>>,Int<16384>,Int<0>>>>>,TrDelayX<IgnitionTime<>>>,TrColorCycleX<BendTimePowInvX<IgnitionTime<>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>>,TrSelect<IntArg<RETRACTION_OPTION_ARG,0>,TrWipeInSparkTipX<RotateColorsX<Int<4096>,RgbArg<RETRACTION_COLOR_ARG,White>>,BendTimePowX<RetractionTime<>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>,TrWipeInX<Scale<IsLessThan<BladeAngle<>,Int<16000>>,Mult<RetractionTime<>,Int<16384>>,RetractionTime<>>>,TrConcat<TrSparkX<ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>,Int<100>,Mult<RetractionTime<>,Int<6554>>,Int<0>>,AlphaL<Black,SmoothStep<Int<26216>,Int<0>>>,TrSparkX<ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>,Int<100>,Mult<RetractionTime<>,Int<6554>>,Int<0>>,AlphaL<Black,SmoothStep<Int<19662>,Int<0>>>,TrSparkX<ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>,Int<100>,Mult<RetractionTime<>,Int<6554>>,Int<0>>,AlphaL<Black,SmoothStep<Int<13108>,Int<0>>>,TrSparkX<ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>,Int<100>,Mult<RetractionTime<>,Int<6554>>,Int<0>>,AlphaL<Black,SmoothStep<Int<6554>,Int<0>>>,TrSparkX<ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Scale<TwistAngle<>,Int<0>,Int<8>>,Scale<TwistAngle<>,Int<0>,Int<7>>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>,Int<100>,Mult<RetractionTime<>,Int<6554>>,Int<0>>>,TrConcat<TrInstant,AlphaL<Black,LayerFunctions<LinearSectionF<Int<6144>,Scale<Trigger<EFFECT_RETRACTION,RetractionTime<>,RetractionTime<>,Int<0>>,Int<0>,Int<12288>>>,LinearSectionF<Int<16384>,Scale<Trigger<EFFECT_RETRACTION,RetractionTime<>,RetractionTime<>,Int<0>>,Int<0>,Int<12288>>>,LinearSectionF<Int<26624>,Scale<Trigger<EFFECT_RETRACTION,RetractionTime<>,RetractionTime<>,Int<0>>,Int<0>,Int<12288>>>>>,TrDelayX<RetractionTime<>>>,TrConcat<TrInstant,AlphaL<Black,LayerFunctions<LinearSectionF<Int<0>,Scale<Trigger<EFFECT_RETRACTION,RetractionTime<>,Int<0>,Int<0>>,Int<0>,Int<16384>>>,LinearSectionF<Int<16384>,Scale<Trigger<EFFECT_RETRACTION,RetractionTime<>,Int<0>,Int<0>>,Int<0>,Int<16384>>>,LinearSectionF<Int<32768>,Scale<Trigger<EFFECT_RETRACTION,RetractionTime<>,Int<0>,Int<0>>,Int<0>,Int<16384>>>>>,TrDelayX<RetractionTime<>>>,TrColorCycleX<BendTimePowX<RetractionTime<>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>>,ColorSelect<IncrementWithReset<ThresholdPulseF<IncrementWithReset<ThresholdPulseF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_PREON>>,Int<30000>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,Int<1>>,EffectPulseF<EFFECT_NEWFONT>,Int<1>>,TrInstant,Mix<SmoothStep<IntArg<EMITTER_SIZE_ARG,2000>,Int<-2000>>,Black,ColorSelect<Scale<TwistAngle<>,Int<0>,Int<7>>,TrInstant,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<ALT_COLOR_ARG,Rgb<253,129,0>>,RgbArg<ALT_COLOR2_ARG,Yellow>,RgbArg<ALT_COLOR3_ARG,Green>,RgbArg<EMITTER_COLOR_ARG,Blue>,RgbArg<POSTOFF_COLOR_ARG,Rgb<155,0,255>>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,Black>>,TransitionEffectL<TrSelect<IntArg<PREON_OPTION_ARG,0>,TrInstant,TrConcat<TrFadeX<Mult<Int<4096>,WavLen<EFFECT_PREON>>>,AlphaL<PulsingL<RgbArg<BASE_COLOR_ARG,Red>,Int<800>>,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-4000>>>,TrDelayX<Mult<Int<28672>,WavLen<EFFECT_PREON>>>>,TrConcat<TrFadeX<Mult<Int<8192>,WavLen<EFFECT_PREON>>>,AlphaL<HumpFlickerL<RgbArg<BASE_COLOR_ARG,Red>,10>,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-4000>>>,TrFadeX<Mult<Int<8192>,WavLen<EFFECT_PREON>>>,AlphaL<HumpFlickerL<RgbArg<BASE_COLOR_ARG,Red>,15>,SmoothStep<Sum<Int<2000>,IntArg<PREON_SIZE_ARG,2000>>,Int<-4000>>>,TrFadeX<Mult<Int<8192>,WavLen<EFFECT_PREON>>>,AlphaL<HumpFlickerL<RgbArg<BASE_COLOR_ARG,Red>,20>,SmoothStep<Sum<Int<4000>,IntArg<PREON_SIZE_ARG,2000>>,Int<-4000>>>,TrBoingX<Mult<Int<8192>,WavLen<EFFECT_PREON>>,3>>,TrConcat<TrExtendX<WavLen<EFFECT_PREON>,TrFade<100>>,AlphaL<HumpFlickerL<Mix<Trigger<EFFECT_PREON,Mult<WavLen<EFFECT_PREON>,Int<24000>>,WavLen<EFFECT_PREON>,Int<500>>,RgbArg<BASE_COLOR_ARG,Red>,White>,20>,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-3000>>>,TrFade<200>>,TrConcat<TrInstant,AlphaL<AudioFlickerL<RgbArg<BASE_COLOR_ARG,Red>>,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-4000>>>,TrLoopN<8,TrSparkX<RgbArg<BASE_COLOR_ARG,Red>,Int<200>,Divide<WavLen<EFFECT_PREON>,Int<8>>,Int<32768>>>>,TrConcat<TrExtendX<WavLen<EFFECT_PREON>,TrInstant>,AlphaL<PulsingL<Mix<Int<16384>,White,RgbArg<BASE_COLOR_ARG,Red>>,Int<300>>,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-2000>>>,TrLoopN<9,TrBoingX<Mult<WavLen<EFFECT_PREON>,Int<2458>>,3>>>>,EFFECT_PREON>,TransitionEffectL<TrSelect<IntArg<OFF_OPTION_ARG,0>,TrInstant,TrConcat<TrInstant,AlphaL<White,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-4000>>>,TrFadeX<Mult<Scale<IsLessThan<WavLen<EFFECT_POSTOFF>,Int<200>>,WavLen<EFFECT_POSTOFF>,Int<4000>>,Int<10923>>>,AlphaL<Orange,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-4000>>>,TrFadeX<Mult<Scale<IsLessThan<WavLen<EFFECT_POSTOFF>,Int<200>>,WavLen<EFFECT_POSTOFF>,Int<4000>>,Int<10923>>>,AlphaL<Red,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-2000>>>,TrFadeX<Mult<Scale<IsLessThan<WavLen<EFFECT_POSTOFF>,Int<200>>,WavLen<EFFECT_POSTOFF>,Int<4000>>,Int<10923>>>>,TrConcat<TrInstant,AlphaL<BrownNoiseFlickerL<RgbArg<BASE_COLOR_ARG,Red>,Int<30>>,SmoothStep<Scale<SlowNoise<Int<2000>>,IntArg<PREON_SIZE_ARG,2000>,Sum<IntArg<PREON_SIZE_ARG,2000>,Int<3000>>>,Int<-4000>>>,TrDelayX<Scale<IsLessThan<WavLen<EFFECT_POSTOFF>,Int<200>>,WavLen<EFFECT_POSTOFF>,Int<4000>>>>,TrConcat<TrInstant,AlphaL<White,Int<0>>,TrJoin<TrDelay<1000>,TrInstant>,AlphaL<RgbArg<BASE_COLOR_ARG,Red>,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-2000>>>,TrSmoothFadeX<Scale<IsLessThan<WavLen<EFFECT_POSTOFF>,Int<200>>,WavLen<EFFECT_POSTOFF>,Int<4000>>>>>,EFFECT_POSTOFF>>>(),

Ultimately the second way still “says” the same thing, it just reads as Red versus Rgb<255,0,0> and Yellow versus Rgb<255,255,0> Do this with each main blade as well as accent blade and see?

Layerized styles really do the same thing as non-layzerized styles. I think it’s 50/50 on whether it would save memory, and my expectation is that it doesn’t save a lot.
Generally looks nicer though. :slight_smile:

1 Like

It’s not the layering I’m focused on with the question as much as the changing of Rgb lists for color names instead. I’m going off a config I was fighting back in OS5 where doing that actually saved a small amount of space. There’s 41 presets there, optimizing it can’t hurt. Leave it layered out AFAIK, but clean up some of those Rgb lists in favor of color names. It then pulls that script out of the config and resorts to the OS on the board to give the color.

Again, spitballing but @Bruinrogue maybe give that a try and let us know.

Color names are aliases for Rgb<>, so it really should be the same thing.
While I have nothing against optimization, that’s not what this thread is about.

1 Like

Thing is, even with just one preset, on my v2.2, I still go over. It’s literally impossible for me to get a functional saber on OS8 right now. Something is getting bloated that isn’tin the presets.

1 Like

Exactly. At best I could only squeeze in a few simpleblades before going over in 2.2 boards.