Advertisement
Sabersense

Charging Style

Jun 8th, 2025
19
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 56.08 KB | None | 0 0
  1. #ifdef CONFIG_TOP
  2. #include "proffieboard_v2_config.h"
  3. #define NUM_BLADES 2
  4. #define NUM_BUTTONS 2
  5. const unsigned int maxLedsPerStrip = 144;
  6. #define ENABLE_AUDIO
  7. #define ENABLE_MOTION
  8. #define ENABLE_WS2811
  9. #define ENABLE_SD
  10.  
  11. // VOLUME DEFINES
  12. #define VOLUME 1900 // Maximum volume that can be reached.
  13. #define BOOT_VOLUME 1600 // Default volume at bootup.
  14. // Over-ridden once user adjusts volume
  15. // due to SAVE_STATE.
  16. // OPTIONAL SYSTEM DEFINES
  17. #define NO_REPEAT_RANDOM
  18. #define FEMALE_TALKIE_VOICE
  19. #define KILL_OLD_PLAYERS
  20. #define IDLE_OFF_TIME 30 * 60 * 1000
  21. // Minutes multiplied by seconds multiplied by milliseconds. (30 * 60 * 1000 = 30 minutes).
  22.  
  23. // SAVE SETTINGS - See Technical Note 1 above.
  24. #define SAVE_STATE
  25. // #define SAVE_VOLUME
  26. // #define SAVE_PRESET
  27.  
  28. // PRIMARY CLASH CONTROL - See Technical Note 2 above for further clash controls.
  29. #define CLASH_THRESHOLD_G 3.5
  30. // Range is 0 to 16 by default.
  31.  
  32. // OPTIONAL FEATURE DEFINES
  33. #define DYNAMIC_BLADE_LENGTH
  34. #define DYNAMIC_CLASH_THRESHOLD
  35. #define SAVE_CLASH_THRESHOLD
  36.  
  37. #define FILTER_CUTOFF_FREQUENCY 160
  38. #define FILTER_ORDER 4
  39.  
  40. // #define ORIENTATION ORIENTATION_USB_TOWARDS_BLADE
  41. // #define SHARED_POWER_PINS
  42.  
  43.  
  44. // BLADE ID AND BLADE DETECT
  45. // See Technical Note 1 above when using BLADE_ID or ARRAY_SELECTOR.
  46. // #define SABERSENSE_BLADE_ID // Plays Array ident sound with BladeID detection.
  47. // #define ENABLE_POWER_FOR_ID PowerPINS<bladePowerPin2, bladePowerPin3> // Required for BLADE_ID.
  48.  
  49. #define SABERSENSE_ARRAY_SELECTOR // Cycles through blade/preset arrays manually, ignores actual BladeID status.
  50. // #define SABERSENSE_DISABLE_SAVE_ARRAY // Means that arrays won't be saved between reboots.
  51.  
  52. // #define SABERSENSE_ENABLE_ARRAY_FONT_IDENT // Plays font ident after array ident.
  53. // Works with SABERSENSE BLADE_ID & ARRAY_SELECTOR.
  54.  
  55. // #define BLADE_DETECT_PIN aux2Pin // Wire to Button 3.
  56. // #define SABERSENSE_NO_BLADE // Required to make Blade Detect work with Array Selector.
  57.  
  58.  
  59. // REQUIRED FOR BLUETOOTH MODULE.
  60. #define ENABLE_SERIAL
  61.  
  62.  
  63. // REQUIRED FOR OLED MODULE
  64. // #define ENABLE_SSD1306
  65. // #define OLED_FLIP_180 // Optional
  66. // #define PLI_OFF_TIME 30 * 1000
  67. // Controls how long battery display is shown on OLED after animations end.
  68. // Seconds multiplied by milliseconds. (30 * 1000 = 30 seconds).
  69. // For OLED function, add 'oled' to each preset file list and ensure
  70. // oled folder is on top level of SD card.
  71.  
  72.  
  73. // MEMORY SAVING OPTIONS
  74. // #define DISABLE_BASIC_PARSER_STYLES // Disables default named styles found in Proffie Workbench.
  75. // #define DISABLE_DIAGNOSTIC_COMMANDS // Disables diagnostic commands in Serial Monitor.
  76.  
  77.  
  78. // CUSTOM SABERSENSE BUTTON CONTROLS
  79. // Gesture controls bypass Preon effects.
  80. #define SABERSENSE_TWIST_ON
  81. #define SABERSENSE_TWIST_OFF
  82. // #define SABERSENSE_STAB_ON
  83. // #define SABERSENSE_THRUST_ON
  84. // #define SABERSENSE_SWING_ON
  85. #define BUTTON_DOUBLE_CLICK_TIMEOUT 350 // Makes button clicks a little slower and easier.
  86. #define BUTTON_SHORT_CLICK_TIMEOUT 350 // Makes button clicks a little slower and easier.
  87.  
  88. // #define SABERSENSE_FONT_SKIP_A 5 // Set number of preset skips for two clicks. Default 5.
  89. // #define SABERSENSE_FONT_SKIP_B 10 // Set number of preset skips for three clicks. default 10.
  90. // #define SABERSENSE_HOT_SKIP_DOWN 11 // Sets preset skip to selected font, hilt pointing down.
  91. // #define SABERSENSE_HOT_SKIP_LEVEL 7 // Sets preset skip to selected font, hilt horizontal.
  92. // #define SABERSENSE_DISABLE_SKIPPING // Removes present skipping feature entirely.
  93.  
  94. // #define SABERSENSE_BLAST_MAIN_AND_AUX // Makes blast available on MAIN and AUX on 2-button sabers.
  95. // #define SABERSENSE_FLIP_AUDIO_PLAYERS // Flips audio Players so that QUOTE plays when pointing down, not up.
  96. // #define SABERSENSE_BUTTON_CLICKER // For Scavenger hilt. Plays click sound files with button pushes.
  97. // #define SABERSENSE_NO_COLOR_CHANGE // Disables Colour Change feature.
  98. // #define SABERSENSE_NO_LOCKUP_HOLD // Reverts to lockup being triggered by holding AUX while clashing.
  99. // #define SABERSENSE_DISABLE_RESET // Prevents "Restore Factory Defaults".
  100. #endif
  101.  
  102.  
  103. #ifdef CONFIG_PROP
  104. #include "../props/saber_sabersense_buttons.h"
  105. #endif
  106.  
  107.  
  108. #ifdef CONFIG_STYLES
  109. using ON = Rgb<255,255,255>; // Use StylePtr<ON>(), for Bluetooth ON.
  110. using OFF = Rgb<0,0,0>; // Use StylePtr<OFF>(), for Bluetooth OFF.
  111. #endif
  112.  
  113. // *************************************************************************
  114. // *************************************************************************
  115. // *********************** THE BLADE STYLES ************************
  116. // *************************************************************************
  117. // *************************************************************************
  118. #ifdef CONFIG_PRESETS
  119. Preset presets[] = {
  120.  
  121. { "PreFont;FontPrem/Quinlan;Shared/Random;Menus", "tracks/medley1.wav",
  122. // Main Blade:
  123. StylePtr<Layers<Layers<ColorSelect<Sum<Variation,IntArg<STYLE_OPTION_ARG,0>>,TrFade<50>,ColorChange<TrInstant,DeepSkyBlue>,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure>,RandomL<ColorSelect<Sum<Variation,IntArg<STYLE_OPTION_ARG,0>>,TrFade<50>,ColorChange<TrInstant,Rgb<0,107,205>>,Rgb<0,0,205>,Rgb<0,205,205>,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>>>,OriginalBlastL<ColorSelect<Sum<Variation,IntArg<STYLE_OPTION_ARG,0>>,TrFade<50>,ColorChange<TrInstant,Red>,Red,Red,Red,Red,Red,LightYellow,Blue,Blue,Red,Blue,Red>>,LockupL<Strobe<ColorSelect<Sum<Variation,IntArg<STYLE_OPTION_ARG,0>>,TrFade<50>,ColorChange<TrInstant,Rgb<200,255,255>>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,White,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow>,Black,20,16>,Strobe<ColorSelect<Sum<Variation,IntArg<STYLE_OPTION_ARG,0>>,TrFade<50>,ColorChange<TrInstant,White>,White,White,White,White,White,White,White,White,White,White,Yellow>,Black,20,16>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,SimpleClashL<Strobe<ColorSelect<Sum<Variation,IntArg<STYLE_OPTION_ARG,0>>,TrFade<50>,ColorChange<TrInstant,Yellow>,Yellow,Yellow,Yellow,White,Red,Yellow,Yellow,Yellow,White,White,Yellow>,Black,28,25>,260>,InOutTrL<TrWipe<500>,TrWipeInX<WavLen<EFFECT_RETRACTION>>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>>("~ ~ 4"),
  124.  
  125. // Bluetooth Module:
  126. StylePtr<ON>(),
  127. "quinlan"},
  128.  
  129.  
  130. // ****************
  131.  
  132.  
  133. { "PreFont;FontStd1/KbrGrflx;Shared/Random;Menus", "tracks/endtitle.wav",
  134. // Crystal cooling effect.
  135. // Main Blade:
  136. StylePtr<Layers<Layers<ColorChange<TrInstant,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Rgb<185,212,212>>,RandomL<ColorChange<TrInstant,Rgb<0,107,205>,Rgb<0,0,205>,Rgb<0,205,205>,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>>>>,TransitionEffectL<TrConcat<TrInstant,BrownNoiseFlickerL<AlphaL<White,Int<16000>>,Int<50>>,TrSmoothFade<600>>,EFFECT_LOCKUP_END>,LockupTrL<Strobe<White,Black,25,28>,TrConcat<TrInstant,White,TrFade<200>>,TrFade<300>,SaberBase::LOCKUP_NORMAL>,LockupTrL<AlphaL<White,LayerFunctions<Bump<Scale<SlowNoise<Int<2000>>,Int<3000>,Int<16000>>,Scale<BrownNoiseF<Int<10>>,Int<14000>,Int<8000>>>,Bump<Scale<SlowNoise<Int<2300>>,Int<26000>,Int<8000>>,Scale<NoisySoundLevel,Int<5000>,Int<10000>>>,Bump<Scale<SlowNoise<Int<2300>>,Int<20000>,Int<30000>>,Scale<IsLessThan<SlowNoise<Int<1500>>,Int<8000>>,Scale<NoisySoundLevel,Int<5000>,Int<0>>,Int<0>>>>>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,ResponsiveStabL<Red>,BlastL<LemonChiffon>,SimpleClashL<Strobe<Yellow,Black,25,28>,200>,LockupTrL<AlphaL<BrownNoiseFlickerL<White,Int<300>>,SmoothStep<Int<30000>,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL<TrWipe<800>,TrWipeIn<1000>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  137.  
  138. // Bluetooth Module:
  139. StylePtr<ON>(),
  140. "graflex"},
  141.  
  142.  
  143. // ****************
  144.  
  145.  
  146. { "PreFont;FontStd1/KbrLkeH;Shared/Random;Menus", "tracks/jeditext.wav",
  147. // Crystal cooling effect with sound.
  148. // Main Blade:
  149. StylePtr<Layers<Layers<ColorChange<TrInstant,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan>,RandomL<ColorChange<TrInstant,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>,Rgb<0,107,205>,Rgb<0,0,205>,Rgb<0,205,205>>>,RandomL<ColorChange<TrInstant,Rgb<0,35,125>,Rgb<0,125,0>,Rgb<14,125,14>,Rgb<125,0,0>,Rgb<125,0,125>,Rgb<125,40,77>,Rgb<125,125,0>,Rgb<125,48,0>,Rgb<110,125,125>,Rgb<0,68,125>,Rgb<0,0,125>,Rgb<0,125,125>>>>,BlastFadeoutL<ColorChange<TrInstant,Red,Red,Red,LightYellow,Blue,Blue,Red,Blue,Red,Red,Red,Red>,350>,LockupL<Strobe<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>>,Black,20,16>,Strobe<ColorChange<TrInstant,White,White,White,White,White,White,Red,Rgb<200,255,255>,Red,White,White,White>,Black,20,16>,Bump<Int<16800>,Int<28000>>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,SimpleClashL<Strobe<ColorChange<TrInstant,Yellow,LemonChiffon,Red,Yellow,Yellow,Yellow,Cyan,White,Yellow,Yellow,Yellow,Yellow>,Black,28,25>,260>,InOutHelperL<InOutFuncX<Int<800>,Int<1000>>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  150.  
  151. // Bluetooth Module:
  152. StylePtr<ON>(),
  153. "luke"},
  154.  
  155.  
  156. // ****************
  157.  
  158.  
  159. { "PreFont;FontStd1/SmthJedi;Shared/Random;Menus", "tracks/quigonn.wav",
  160. // Main Blade:
  161. StylePtr<Layers<ColorChange<TrInstant,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue>,RandomL<ColorChange<TrInstant,Rgb<0,205,0>,Rgb<22,205,22>,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>,Rgb<0,107,205>,Rgb<0,0,205>,Rgb<0,205,205>,Rgb<0,60,205>>>,AlphaL<AudioFlickerL<ColorChange<TrInstant,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue>>,SwingSpeed<400>>,ResponsiveLightningBlockL<Strobe<White,AudioFlicker<White,Blue>,50,1>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,TransitionEffectL<TrConcat<TrInstant,BrownNoiseFlickerL<AlphaL<White,Int<16000>>,Int<50>>,TrSmoothFade<600>>,EFFECT_LOCKUP_END>,LockupL<Strobe<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>>,Black,20,16>,Strobe<ColorChange<TrInstant,White,White,White,White,White,Red,Rgb<200,255,255>,Red,White,White,White,White>,Black,20,16>>,ResponsiveStabL<Red>,BlastFadeoutL<White,280>,SimpleClashL<Strobe<Yellow,Black,25,28>,300>,LockupTrL<AlphaL<BrownNoiseFlickerL<White,Int<300>>,SmoothStep<Int<30000>,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL<AlphaL<Mix<TwistAngle<>,Red,DarkOrange>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL<TrWipe<800>,TrWipeIn<900>>,TransitionEffectL<TrDelay<10000>,EFFECT_PREON>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  162.  
  163. // Bluetooth Module:
  164. StylePtr<ON>(),
  165. "smoothjedi"},
  166.  
  167.  
  168. // ****************
  169.  
  170.  
  171. { "PreFont;FontStd1/DarkSide;Shared/Vader;Menus", "tracks/vader.wav",
  172. // Pulsing 'off' crystal.
  173. // Main Blade:
  174. StylePtr<Layers<Layers<ColorSelect<Sum<Variation,IntArg<STYLE_OPTION_ARG,0>>,TrFade<50>,ColorChange<TrInstant,DeepSkyBlue>,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure>,RandomL<ColorSelect<Sum<Variation,IntArg<STYLE_OPTION_ARG,0>>,TrFade<50>,ColorChange<TrInstant,Rgb<0,107,205>>,Rgb<0,0,205>,Rgb<0,205,205>,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>>>,RandomL<ColorSelect<Sum<Variation,IntArg<STYLE_OPTION_ARG,0>>,TrFade<50>,ColorChange<TrInstant,Rgb<0,68,125>>,Rgb<0,0,125>,Rgb<0,125,125>,Rgb<0,35,125>,Rgb<0,125,0>,Rgb<14,125,14>,Rgb<125,0,0>,Rgb<125,0,125>,Rgb<125,40,77>,Rgb<125,125,0>,Rgb<125,48,0>,Rgb<110,125,125>>>>,OriginalBlastL<ColorSelect<Sum<Variation,IntArg<STYLE_OPTION_ARG,0>>,TrFade<50>,ColorChange<TrInstant,Red>,Red,Red,Red,Red,Red,LightYellow,Blue,Blue,Red,Blue,Red>>,LockupL<Strobe<ColorSelect<Sum<Variation,IntArg<STYLE_OPTION_ARG,0>>,TrFade<50>,ColorChange<TrInstant,Rgb<200,255,255>>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,White,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow>,Black,20,16>,Strobe<ColorSelect<Sum<Variation,IntArg<STYLE_OPTION_ARG,0>>,TrFade<50>,ColorChange<TrInstant,White>,White,White,White,White,White,White,White,White,White,White,Yellow>,Black,20,16>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,SimpleClashL<Strobe<ColorSelect<Sum<Variation,IntArg<STYLE_OPTION_ARG,0>>,TrFade<50>,ColorChange<TrInstant,Yellow>,Yellow,Yellow,Yellow,White,Red,Yellow,Yellow,Yellow,White,White,Yellow>,Black,28,25>,260>,InOutTrL<TrWipeX<Scale<IsGreaterThan<BladeAngle<>,Int<16100>>,Int<1500>,Int<300>>>,TrWipeIn<1100>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>("~ ~ 6"),
  175.  
  176. // Bluetooth Module:
  177. StylePtr<ON>(),
  178. "darkside"},
  179.  
  180.  
  181. // ****************
  182.  
  183.  
  184. { "PreFont;FontStd1/KbrRain;Shared/Thunder;Menus", "tracks/thunder.wav",
  185. // Localized clash and lockup.
  186. // Main Blade:
  187. StylePtr<Layers<Layers<ColorChange<TrInstant,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue>,SparkleL<ColorChange<TrInstant,White,White,White,White,Red,White,White,Blue,Red,Blue,Blue,White>,90>,RandomL<ColorChange<TrInstant,Rgb<0,0,205>,Rgb<0,205,205>,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>,Rgb<0,107,205>>>>,BlastFadeoutL<ColorChange<TrInstant,Red,Red,Red,Red,Red,Blue,Yellow,Blue,Blue,Blue,Red,Red>,320>,LockupL<BrownNoiseFlicker<HumpFlicker<White,Black,70>,White,180>,RandomFlicker<White,SteelBlue>,Bump<Int<16384>,Int<24000>>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,LocalizedClashL<Strobe<Yellow,SteelBlue,25,20>,280,100>,InOutHelperL<InOutFuncX<Int<450>,Int<1100>>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  188.  
  189. // Bluetooth Module:
  190. StylePtr<ON>(),
  191. "rainlight"},
  192.  
  193.  
  194. // ****************
  195.  
  196.  
  197. { "PreFont;FontStd1/RainDark;Shared/Thunder;Menus", "tracks/thunder.wav",
  198. // Main Blade:
  199. StylePtr<Layers<Layers<ColorChange<TrInstant,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>>,SparkleL<ColorChange<TrInstant,White,Blue,Blue,Red,Blue,Blue,White,White,Red,White,Red,Red>,150,1200>,RandomL<ColorChange<TrInstant,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>,Rgb<0,107,205>,Rgb<0,0,205>,Rgb<0,205,205>,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>>>>,BlastFadeoutL<ColorChange<TrInstant,LightYellow,Blue,Blue,Red,Blue,Red,Red,Red,Red,Red,Red,Red>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,LockupL<RandomFlicker<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>>,Black>,RandomFlicker<SteelBlue,White>>,SimpleClashL<Strobe<Yellow,Black,15,1>,150>,InOutHelperL<InOutFuncX<Int<300>,Int<1100>>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  200.  
  201. // Bluetooth Module:
  202. StylePtr<ON>(),
  203. "raindark"},
  204.  
  205.  
  206. // ****************
  207.  
  208.  
  209. { "PreFont;FontStd1/Unstable;Shared/Kylo;Menus", "tracks/kylo.wav",
  210. // Unstable with crystal cool down effect.
  211. // Main Blade:
  212. StylePtr<Layers<StripesX<Int<3000>,Int<-3500>,ColorChange<TrInstant,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>>,RandomPerLEDFlicker<ColorChange<TrInstant,Rgb<60,0,0>,Rgb<60,0,60>,Rgb<60,20,40>,Rgb<60,60,0>,Rgb<60,25,0>,Rgb<55,60,60>,Rgb<0,30,60>,Rgb<0,0,60>,Rgb<0,60,60>,Rgb<0,17,60>,Rgb<0,60,0>,Rgb<6,60,6>>,Black>,BrownNoiseFlicker<ColorChange<TrInstant,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>>,ColorChange<TrInstant,Rgb<30,0,0>,Rgb<30,0,30>,Rgb<30,10,20>,Rgb<30,30,0>,Rgb<30,12,0>,Rgb<27,30,30>,Rgb<0,30,30>,Rgb<0,0,30>,Rgb<0,30,30>,Rgb<0,8,30>,Rgb<0,30,0>,Rgb<3,30,3>>,200>,RandomPerLEDFlicker<ColorChange<TrInstant,Rgb<80,0,0>,Rgb<80,0,80>,Rgb<80,80,60>,Rgb<80,80,0>,Rgb<80,32,0>,Rgb<71,80,80>,Rgb<0,45,80>,Rgb<0,0,80>,Rgb<0,80,80>,Rgb<1,24,80>,Rgb<0,80,0>,Rgb<9,80,9>>,ColorChange<TrInstant,Rgb<30,0,0>,Rgb<30,0,30>,Rgb<30,10,20>,Rgb<30,30,0>,Rgb<30,12,0>,Rgb<27,30,30>,Rgb<0,30,30>,Rgb<0,0,30>,Rgb<0,30,30>,Rgb<0,8,30>,Rgb<0,30,0>,Rgb<3,30,3>>>>,TransitionLoopL<TrConcat<TrWaveX<AudioFlicker<ColorChange<TrInstant,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>>,BrownNoiseFlicker<ColorChange<TrInstant,Rgb<80,0,0>,Rgb<80,0,80>,Rgb<80,80,60>,Rgb<80,80,0>,Rgb<80,32,0>,Rgb<71,80,80>,Rgb<0,45,80>,Rgb<0,0,80>,Rgb<0,80,80>,Rgb<1,24,80>,Rgb<0,80,0>,Rgb<9,80,9>>,Black,200>>,Int<400>,Int<100>,Int<200>,Int<0>>,AlphaL<ColorChange<TrInstant,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>>,Int<0>>,TrDelayX<Scale<SlowNoise<Int<1000>>,Int<100>,Int<1000>>>>>,TransitionLoopL<TrConcat<TrWaveX<AudioFlicker<ColorChange<TrInstant,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>>,BrownNoiseFlicker<Black,ColorChange<TrInstant,Rgb<60,0,0>,Rgb<60,0,60>,Rgb<60,20,40>,Rgb<60,60,0>,Rgb<60,25,0>,Rgb<55,60,60>,Rgb<0,30,60>,Rgb<0,0,60>,Rgb<0,60,60>,Rgb<0,17,60>,Rgb<0,60,0>,Rgb<6,60,6>>,300>>,Int<400>,Int<100>,Int<200>,Int<0>>,AlphaL<ColorChange<TrInstant,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>>,Int<0>>,TrDelayX<Scale<SlowNoise<Int<1000>>,Int<200>,Int<1500>>>>>,TransitionEffectL<TrConcat<TrInstant,BrownNoiseFlickerL<AlphaL<White,Int<16000>>,Int<50>>,TrSmoothFade<600>>,EFFECT_LOCKUP_END>,ResponsiveLockupL<Strobe<White,BrownNoiseFlicker<White,Blue,300>,50,1>,TrConcat<TrInstant,White,TrFade<200>>,TrFade<400>,Scale<BladeAngle<0,16000>,Int<4000>,Int<26000>>,Int<6000>,Scale<SwingSpeed<100>,Int<10000>,Int<14000>>>,ResponsiveLightningBlockL<Strobe<White,AudioFlicker<White,Blue>,50,1>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,ResponsiveStabL<Orange>,ResponsiveBlastL<White,Int<400>,Scale<SwingSpeed<200>,Int<100>,Int<400>>>,ResponsiveClashL<White,TrInstant,TrFade<400>>,ResponsiveDragL<BrownNoiseFlickerL<White,Int<300>>,TrWipeIn<400>,TrFade<400>>,ResponsiveMeltL<Mix<TwistAngle<>,OrangeRed,Orange>,TrWipeIn<600>,TrSmoothFade<600>>,InOutTrL<TrWipe<250>,TrWipeIn<1000>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  213.  
  214. // Bluetooth Module:
  215. StylePtr<ON>(),
  216. "unstable"},
  217.  
  218.  
  219. // ****************
  220.  
  221.  
  222. { "PreFont;FontStd1/Rey;Shared/Rey;Menus", "tracks/anewhome.wav",
  223. // Main Blade:
  224. StylePtr<Layers<ColorChange<TrInstant,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow>,RandomL<ColorChange<TrInstant,Rgb<205,79,0>,Rgb<178,205,205>,Rgb<0,107,205>,Rgb<0,0,205>,Rgb<0,205,205>,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>,Rgb<205,205,0>>>,AlphaL<AudioFlickerL<ColorChange<TrInstant,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow>>,SwingSpeed<400>>,ResponsiveLightningBlockL<Strobe<White,AudioFlicker<White,Blue>,50,1>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,TransitionEffectL<TrConcat<TrInstant,BrownNoiseFlickerL<AlphaL<White,Int<16000>>,Int<50>>,TrSmoothFade<600>>,EFFECT_LOCKUP_END>,ResponsiveLockupL<Strobe<White,BrownNoiseFlicker<White,Red,300>,50,1>,TrConcat<TrInstant,White,TrFade<400>>,TrFade<100>,Scale<BladeAngle<0,16000>,Int<10000>,Int<30000>>,Int<10000>,Scale<SwingSpeed<100>,Int<10000>,Int<14000>>>,ResponsiveStabL<Red>,BlastFadeoutL<White>,SimpleClashL<Strobe<White,Black,25,28>,300>,LockupTrL<AlphaL<BrownNoiseFlickerL<White,Int<300>>,SmoothStep<Int<30000>,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL<AlphaL<Mix<TwistAngle<>,White,Cyan>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL<TrWipe<300>,TrWipeIn<1000>>,TransitionEffectL<TrConcat<TrInstant,AlphaL<BlinkingL<Blue,Int<300>,Int<500>>,Bump<Int<0>,Int<4000>>>,TrBoing<500,3>,AlphaL<BlinkingL<DodgerBlue,Int<200>,Int<500>>,Bump<Int<0>,Int<4000>>>,TrBoing<400,3>,AlphaL<BlinkingL<DeepSkyBlue,Int<100>,Int<500>>,Bump<Int<0>,Int<4000>>>,TrDelay<300>>,EFFECT_PREON>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  225.  
  226. // Bluetooth Module:
  227. StylePtr<ON>(),
  228. "rey"},
  229.  
  230.  
  231. // ****************
  232.  
  233.  
  234. { "PreFont;FontStd1/KbrEmpr;Shared/Palptine;Menus", "tracks/emperor.wav",
  235. // Main Blade:
  236. StylePtr<Layers<Layers<ColorChange<TrInstant,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>>,RandomL<ColorChange<TrInstant,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>,Rgb<0,107,205>,Rgb<0,0,205>,Rgb<0,205,205>,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>>>>,BlastFadeoutL<ColorChange<TrInstant,LightYellow,Blue,Blue,Red,Blue,Red,Red,Red,Red,Red,Red,Red>,350>,LockupL<Strobe<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>>,Black,20,16>,Strobe<ColorChange<TrInstant,White,White,White,Red,Rgb<200,255,255>,Red,White,White,White,White,White,White>,Black,20,16>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,SimpleClashL<Strobe<ColorChange<TrInstant,Yellow,Yellow,Yellow,Cyan,White,Yellow,Yellow,Yellow,Yellow,Yellow,LemonChiffon,Red>,Black,28,25>,260>,InOutHelperL<InOutFuncX<Int<800>,Int<1400>>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  237.  
  238. // Bluetooth Module:
  239. StylePtr<ON>(),
  240. "emperor"},
  241.  
  242.  
  243. // ****************
  244.  
  245.  
  246. { "PreFont;FontStd1/KbrQuiGn;Shared/QuiGonn;Menus", "tracks/maul.wav",
  247. // Main Blade:
  248. StylePtr<Layers<Layers<ColorChange<TrInstant,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue>,RandomL<ColorChange<TrInstant,Rgb<0,205,0>,Rgb<22,205,22>,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>,Rgb<0,107,205>,Rgb<0,0,205>,Rgb<0,205,205>,Rgb<0,60,205>>>,RandomL<ColorChange<TrInstant,Rgb<0,125,0>,Rgb<14,125,14>,Rgb<125,0,0>,Rgb<125,0,125>,Rgb<125,40,77>,Rgb<125,125,0>,Rgb<125,48,0>,Rgb<110,125,125>,Rgb<0,68,125>,Rgb<0,0,125>,Rgb<0,125,125>,Rgb<0,35,125>>>>,BlastFadeoutL<ColorChange<TrInstant,Red,Red,LightYellow,Blue,Blue,Red,Blue,Red,Red,Red,Red,Red>,350>,LockupL<Strobe<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>>,Black,20,16>,Strobe<ColorChange<TrInstant,White,White,White,White,White,Red,Rgb<200,255,255>,Red,White,White,White,White>,Black,20,16>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,SimpleClashL<Strobe<ColorChange<TrInstant,LemonChiffon,Red,Yellow,Yellow,Yellow,Cyan,White,Yellow,Yellow,Yellow,Yellow,Yellow>,Black,28,25>,260>,InOutHelperL<InOutFuncX<Int<800>,Int<1000>>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  249.  
  250. // Bluetooth Module:
  251. StylePtr<ON>(),
  252. "quigonn"},
  253.  
  254.  
  255. // ****************
  256.  
  257.  
  258. { "PreFont;FontStd1/KbrMaceP;Shared/Windu;Menus", "tracks/trail.wav",
  259. // Main Blade:
  260. StylePtr<Layers<ColorChange<TrInstant,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>,Red>,RandomL<ColorChange<TrInstant,Rgb<125,0,125>,Rgb<125,40,77>,Rgb<125,125,0>,Rgb<125,48,0>,Rgb<110,125,125>,Rgb<0,68,125>,Rgb<0,0,125>,Rgb<0,125,125>,Rgb<0,35,125>,Rgb<0,125,0>,Rgb<14,125,14>,Rgb<125,0,0>>>,BlastL<ColorChange<TrInstant,Blue,Blue,Red,Blue,Red,Red,Red,Red,Red,Red,Red,LightYellow>>,LockupL<Strobe<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>>,Black,20,16>,Strobe<ColorChange<TrInstant,White,White,Red,Rgb<200,255,255>,Red,White,White,White,White,White,White,White>,Black,20,16>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,SimpleClashL<Strobe<ColorChange<TrInstant,Yellow,Yellow,Cyan,White,Yellow,Yellow,Yellow,Yellow,Yellow,LemonChiffon,Red,Yellow>,Black,28,25>,260>,InOutTrL<TrWipe<800>,TrWipeIn<1050>>,TransitionEffectL<TrDelay<10000>,EFFECT_PREON>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  261.  
  262. // Bluetooth Module:
  263. StylePtr<ON>(),
  264. "macep"},
  265.  
  266.  
  267. // ****************
  268.  
  269.  
  270. { "PreFont;FontStd1/KbrMace;Shared/Windu;Menus", "tracks/windu.wav",
  271. // Main Blade:
  272. StylePtr<Layers<Layers<ColorChange<TrInstant,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>,Red>,RandomL<ColorChange<TrInstant,Rgb<125,0,125>,Rgb<125,40,77>,Rgb<125,125,0>,Rgb<125,48,0>,Rgb<110,125,125>,Rgb<0,68,125>,Rgb<0,0,125>,Rgb<0,125,125>,Rgb<0,35,125>,Rgb<0,125,0>,Rgb<14,125,14>,Rgb<125,0,0>>>,RandomL<ColorChange<TrInstant,Rgb<62,0,62>,Rgb<62,20,38>,Rgb<62,62,0>,Rgb<62,24,0>,Rgb<56,62,62>,Rgb<0,34,62>,Rgb<0,0,62>,Rgb<0,62,62>,Rgb<0,18,62>,Rgb<0,62,0>,Rgb<7,62,7>,Rgb<62,0,0>>>>,BlastL<ColorChange<TrInstant,Blue,Blue,Red,Blue,Red,Red,Red,Red,Red,Red,Red,LightYellow>>,LockupL<Strobe<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>>,Black,20,16>,Strobe<ColorChange<TrInstant,White,White,Red,Rgb<200,255,255>,Red,White,White,White,White,White,White,White>,Black,20,16>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,SimpleClashL<Strobe<ColorChange<TrInstant,Yellow,Yellow,Cyan,White,Yellow,Yellow,Yellow,Yellow,Yellow,LemonChiffon,Red,Yellow>,Black,28,25>,260>,InOutHelperL<InOutFuncX<Int<800>,Int<1050>>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  273.  
  274. // Bluetooth Module:
  275. StylePtr<ON>(),
  276. "mace"},
  277.  
  278.  
  279. // ****************
  280.  
  281.  
  282. { "PreFont;FontStd1/TthCrstl;Shared/Random;Menus", "tracks/march.wav",
  283. // Main Blade:
  284. StylePtr<Layers<Layers<ColorChange<TrInstant,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta>,RandomL<ColorChange<TrInstant,Rgb<205,62,115>,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>,Rgb<0,107,205>,Rgb<0,0,205>,Rgb<0,205,205>,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>,Rgb<205,0,0>,Rgb<205,0,205>>>,RandomL<ColorChange<TrInstant,Rgb<125,40,77>,Rgb<125,125,0>,Rgb<125,48,0>,Rgb<110,125,125>,Rgb<0,68,125>,Rgb<0,0,125>,Rgb<0,125,125>,Rgb<0,35,125>,Rgb<0,125,0>,Rgb<14,125,14>,Rgb<125,0,0>,Rgb<125,0,125>>>>,BlastFadeoutL<ColorChange<TrInstant,Blue,Red,Blue,Red,Red,Red,Red,Red,Red,Red,LightYellow,Blue>,350>,LockupL<Strobe<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>>,Black,20,16>,Strobe<ColorChange<TrInstant,White,Red,Rgb<200,255,255>,Red,White,White,White,White,White,White,White,White>,Black,20,16>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,SimpleClashL<Strobe<ColorChange<TrInstant,Yellow,Cyan,White,Yellow,Yellow,Yellow,Yellow,Yellow,LemonChiffon,Red,Yellow,Yellow>,Black,28,25>,260>,InOutHelperL<InOutFuncX<Int<500>,Int<1000>>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  285.  
  286. // Bluetooth Module:
  287. StylePtr<ON>(),
  288. "crystal"},
  289.  
  290.  
  291. // ****************
  292.  
  293.  
  294. { "PreFont;FontStd2/RgueCmdr;Shared/Random;Menus", "tracks/TheBoldOne.wav",
  295. // Main Blade:
  296. StylePtr<Layers<Layers<ColorChange<TrInstant,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>>,RandomL<ColorChange<TrInstant,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>,Rgb<0,107,205>,Rgb<0,0,205>,Rgb<0,205,205>,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>>>>,BlastL<ColorChange<TrInstant,Red,Blue,Red,Red,Red,Red,Red,Red,Red,LightYellow,Blue,Blue>,300>,LockupL<Strobe<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>>,Black,20,16>,Strobe<ColorChange<TrInstant,Red,Rgb<200,255,255>,Red,White,White,White,White,White,White,White,White,White>,Black,20,16>>,SimpleClashL<Strobe<ColorChange<TrInstant,Cyan,White,Yellow,Yellow,Yellow,Yellow,Yellow,LemonChiffon,Red,Yellow,Yellow,Yellow>,Black,28,25>,260>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutHelperL<InOutFuncX<Int<800>,Int<1000>>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  297.  
  298. // Bluetooth Module:
  299. StylePtr<ON>(),
  300. "rogue"},
  301.  
  302.  
  303. // ****************
  304.  
  305.  
  306. { "PreFont;FontStd2/Ancient;Shared/Random;Menus", "tracks/piano.wav",
  307. // Main Blade:
  308. StylePtr<Layers<Layers<ColorChange<TrInstant,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow>,RandomL<Black>,RandomL<Black>>,OriginalBlastL<RandomFlicker<Magenta,Blue>>,LockupL<RandomFlicker<Strobe<SeaShell,Blue,15,1>,Blue>,RandomFlicker<OrangeRed,White>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,SimpleClashL<Strobe<Blue,White,15,5>,400>,InOutHelperL<InOutFuncX<Int<300>,Int<600>>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  309.  
  310. // Bluetooth Module:
  311. StylePtr<ON>(),
  312. "ancient"},
  313.  
  314.  
  315. // ****************
  316.  
  317.  
  318. { "PreFont;FontStd2/ReturnP;Shared/Palptine;Menus", "tracks/Order66.wav",
  319. // Main Blade:
  320. StylePtr<Layers<ColorChange<TrInstant,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>>,RandomL<ColorChange<TrInstant,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>,Rgb<0,107,205>,Rgb<0,0,205>,Rgb<0,205,205>,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>>>,AlphaL<AudioFlickerL<ColorChange<TrInstant,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>>>,SwingSpeed<400>>,ResponsiveLightningBlockL<Strobe<White,AudioFlicker<White,Blue>,50,1>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,TransitionEffectL<TrConcat<TrInstant,BrownNoiseFlickerL<AlphaL<White,Int<16000>>,Int<50>>,TrSmoothFade<600>>,EFFECT_LOCKUP_END>,LockupL<Strobe<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>>,Black,20,16>,Strobe<ColorChange<TrInstant,White,White,White,Red,Rgb<200,255,255>,Red,White,White,White,White,White,White>,Black,20,16>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,ResponsiveStabL<Red>,BlastFadeoutL<White,280>,SimpleClashL<Strobe<Yellow,Black,25,28>,300>,LockupTrL<AlphaL<BrownNoiseFlickerL<White,Int<300>>,SmoothStep<Int<30000>,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL<AlphaL<Mix<TwistAngle<>,White,Cyan>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL<TrWipe<550>,TrWipeIn<1100>>,TransitionEffectL<TrDelay<10000>,EFFECT_PREON>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  321.  
  322. // Bluetooth Module:
  323. StylePtr<ON>(),
  324. "returnp"},
  325.  
  326.  
  327. // ****************
  328.  
  329.  
  330. { "PreFont;FontStd2/Return;Shared/Palptine;Menus", "tracks/Order66.wav",
  331. // Main Blade:
  332. StylePtr<Layers<ColorChange<TrInstant,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>>,RandomL<ColorChange<TrInstant,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>,Rgb<0,107,205>,Rgb<0,0,205>,Rgb<0,205,205>,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>>>,AlphaL<AudioFlickerL<ColorChange<TrInstant,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>>>,SwingSpeed<400>>,ResponsiveLightningBlockL<Strobe<White,AudioFlicker<White,Blue>,50,1>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,TransitionEffectL<TrConcat<TrInstant,BrownNoiseFlickerL<AlphaL<White,Int<16000>>,Int<50>>,TrSmoothFade<600>>,EFFECT_LOCKUP_END>,LockupL<Strobe<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>>,Black,20,16>,Strobe<ColorChange<TrInstant,White,White,White,Red,Rgb<200,255,255>,Red,White,White,White,White,White,White>,Black,20,16>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,ResponsiveStabL<Red>,BlastFadeoutL<White,280>,SimpleClashL<Strobe<Yellow,Black,25,28>,300>,LockupTrL<AlphaL<BrownNoiseFlickerL<White,Int<300>>,SmoothStep<Int<30000>,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL<AlphaL<Mix<TwistAngle<>,White,Cyan>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL<TrWipe<550>,TrWipeIn<1100>>,TransitionEffectL<TrDelay<10000>,EFFECT_PREON>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  333.  
  334. // Bluetooth Module:
  335. StylePtr<ON>(),
  336. "return"},
  337.  
  338.  
  339. // ****************
  340.  
  341.  
  342. { "PreFont;FontStd2/SmthGrey;Shared/Random;Menus", "tracks/medley1.wav",
  343. // Main Blade:
  344. StylePtr<Layers<Layers<ColorChange<TrInstant,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan>,RandomL<ColorChange<TrInstant,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>,Rgb<0,107,205>,Rgb<0,0,205>,Rgb<0,205,205>>>,RandomL<ColorChange<TrInstant,Rgb<0,35,125>,Rgb<0,125,0>,Rgb<14,125,14>,Rgb<125,0,0>,Rgb<125,0,125>,Rgb<125,40,77>,Rgb<125,125,0>,Rgb<125,48,0>,Rgb<110,125,125>,Rgb<0,68,125>,Rgb<0,0,125>,Rgb<0,125,125>>>>,BlastFadeoutL<ColorChange<TrInstant,Red,Red,Red,LightYellow,Blue,Blue,Red,Blue,Red,Red,Red,Red>,350>,LockupL<Strobe<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>>,Black,20,16>,Strobe<ColorChange<TrInstant,White,White,White,White,White,White,Red,Rgb<200,255,255>,Red,White,White,White>,Black,20,16>,Bump<Int<16800>,Int<28000>>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,SimpleClashL<Strobe<ColorChange<TrInstant,Yellow,LemonChiffon,Red,Yellow,Yellow,Yellow,Cyan,White,Yellow,Yellow,Yellow,Yellow>,Black,28,25>,260>,InOutHelperL<InOutFuncX<Int<800>,Int<1000>>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  345.  
  346. // Bluetooth Module:
  347. StylePtr<ON>(),
  348. "smoothgrey"},
  349.  
  350.  
  351. // ****************
  352.  
  353.  
  354. { "PreFont;FontStd2/KbrRmote;Shared/Random;Menus", "tracks/deathstar.wav",
  355. // Main Blade:
  356. StylePtr<Layers<Layers<ColorChange<TrInstant,Cyan,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue>,RandomL<ColorChange<TrInstant,Rgb<0,125,125>,Rgb<0,35,125>,Rgb<0,125,0>,Rgb<14,125,14>,Rgb<125,0,0>,Rgb<125,0,125>,Rgb<125,40,77>,Rgb<125,125,0>,Rgb<125,48,0>,Rgb<110,125,125>,Rgb<0,68,125>,Rgb<0,0,125>>>,RandomL<ColorChange<TrInstant,Rgb<0,125,125>,Rgb<0,35,125>,Rgb<0,125,0>,Rgb<14,125,14>,Rgb<125,0,0>,Rgb<125,0,125>,Rgb<125,40,77>,Rgb<125,125,0>,Rgb<125,48,0>,Rgb<110,125,125>,Rgb<0,68,125>,Rgb<0,0,125>>>>,OriginalBlastL<ColorChange<TrInstant,Red,Red,Red,Red,LightYellow,Blue,Blue,Red,Blue,Red,Red,Red>>,LockupL<Strobe<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>>,Black,20,16>,Strobe<ColorChange<TrInstant,White,White,White,White,White,White,White,Red,Rgb<200,255,255>,Red,White,White>,Black,20,16>>,SimpleClashL<Strobe<ColorChange<TrInstant,Yellow,Yellow,LemonChiffon,Red,Yellow,Yellow,Yellow,Cyan,White,Yellow,Yellow,Yellow>,Black,28,25>,260>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL<TrWipe<300>,TrWipeIn<1000>>,TransitionEffectL<TrDelay<10000>,EFFECT_PREON>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  357.  
  358. // Bluetooth Module:
  359. StylePtr<ON>(),
  360. "remote"},
  361.  
  362.  
  363. // ****************
  364.  
  365.  
  366. { "PreFont;FontStd2/KbrTmple;Shared/Random;Menus", "tracks/snoke.wav",
  367. // Main Blade:
  368. StylePtr<Layers<Layers<ColorChange<TrInstant,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>>,RandomL<ColorChange<TrInstant,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>,Rgb<0,107,205>,Rgb<0,0,205>,Rgb<0,205,205>,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>>>>,BlastL<ColorChange<TrInstant,Red,Blue,Red,Red,Red,Red,Red,Red,Red,LightYellow,Blue,Blue>,300>,LockupL<Strobe<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>>,Black,20,16>,Strobe<ColorChange<TrInstant,Red,Rgb<200,255,255>,Red,White,White,White,White,White,White,White,White,White>,Black,20,16>>,SimpleClashL<Strobe<ColorChange<TrInstant,Cyan,White,Yellow,Yellow,Yellow,Yellow,Yellow,LemonChiffon,Red,Yellow,Yellow,Yellow>,Black,28,25>,260>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutHelperL<InOutFuncX<Int<600>,Int<700>>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  369.  
  370. // Bluetooth Module:
  371. StylePtr<ON>(),
  372. "temple"},
  373.  
  374.  
  375. // ****************
  376.  
  377.  
  378. { "Spare1;Shared/Spare1;Menus", "tracks/sparea.wav",
  379. // Crystal cool down effect.
  380. // Main Blade:
  381. StylePtr<Layers<Layers<ColorChange<TrInstant,Cyan,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue>,RandomL<ColorChange<TrInstant,Rgb<0,205,205>,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>,Rgb<0,107,205>,Rgb<0,0,205>>>,RandomL<ColorChange<TrInstant,Rgb<0,125,125>,Rgb<0,35,125>,Rgb<0,125,0>,Rgb<14,125,14>,Rgb<125,0,0>,Rgb<125,0,125>,Rgb<125,40,77>,Rgb<125,125,0>,Rgb<125,48,0>,Rgb<110,125,125>,Rgb<0,68,125>,Rgb<0,0,125>>>>,OriginalBlastL<ColorChange<TrInstant,Red,Red,Red,Red,LightYellow,Blue,Blue,Red,Blue,Red,Red,Red>>,LockupL<Strobe<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>>,Black,20,16>,Strobe<ColorChange<TrInstant,White,White,White,White,White,White,White,Red,Rgb<200,255,255>,Red,White,White>,Black,20,16>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,SimpleClashL<Strobe<ColorChange<TrInstant,Yellow,Yellow,LemonChiffon,Red,Yellow,Yellow,Yellow,Cyan,White,Yellow,Yellow,Yellow>,Black,28,25>,260>,InOutTrL<TrWipe<500>,TrWipeInX<WavLen<EFFECT_RETRACTION>>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  382.  
  383. // Bluetooth Module:
  384. StylePtr<ON>(),
  385. "spare1"},
  386.  
  387.  
  388. // ****************
  389.  
  390. { "Spare2;Shared/Spare2;Menus", "tracks/spareb.wav",
  391. // Crystal cool down effect.
  392. // Main Blade:
  393. StylePtr<Layers<Layers<ColorChange<TrInstant,Cyan,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue>,RandomL<ColorChange<TrInstant,Rgb<0,205,205>,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>,Rgb<0,107,205>,Rgb<0,0,205>>>,RandomL<ColorChange<TrInstant,Rgb<0,125,125>,Rgb<0,35,125>,Rgb<0,125,0>,Rgb<14,125,14>,Rgb<125,0,0>,Rgb<125,0,125>,Rgb<125,40,77>,Rgb<125,125,0>,Rgb<125,48,0>,Rgb<110,125,125>,Rgb<0,68,125>,Rgb<0,0,125>>>>,OriginalBlastL<ColorChange<TrInstant,Red,Red,Red,Red,LightYellow,Blue,Blue,Red,Blue,Red,Red,Red>>,LockupL<Strobe<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>>,Black,20,16>,Strobe<ColorChange<TrInstant,White,White,White,White,White,White,White,Red,Rgb<200,255,255>,Red,White,White>,Black,20,16>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,SimpleClashL<Strobe<ColorChange<TrInstant,Yellow,Yellow,LemonChiffon,Red,Yellow,Yellow,Yellow,Cyan,White,Yellow,Yellow,Yellow>,Black,28,25>,260>,InOutTrL<TrWipe<500>,TrWipeInX<WavLen<EFFECT_RETRACTION>>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  394.  
  395. // Bluetooth Module:
  396. StylePtr<ON>(),
  397. "spare2"},
  398.  
  399.  
  400. // ****************
  401.  
  402. { "Spare3;Shared/Spare3;Menus", "tracks/sparec.wav",
  403. // Crystal cool down effect.
  404. // Main Blade:
  405. StylePtr<Layers<Layers<ColorChange<TrInstant,Cyan,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue>,RandomL<ColorChange<TrInstant,Rgb<0,205,205>,Rgb<0,60,205>,Rgb<0,205,0>,Rgb<22,205,22>,Rgb<205,0,0>,Rgb<205,0,205>,Rgb<205,62,115>,Rgb<205,205,0>,Rgb<205,79,0>,Rgb<178,205,205>,Rgb<0,107,205>,Rgb<0,0,205>>>,RandomL<ColorChange<TrInstant,Rgb<0,125,125>,Rgb<0,35,125>,Rgb<0,125,0>,Rgb<14,125,14>,Rgb<125,0,0>,Rgb<125,0,125>,Rgb<125,40,77>,Rgb<125,125,0>,Rgb<125,48,0>,Rgb<110,125,125>,Rgb<0,68,125>,Rgb<0,0,125>>>>,OriginalBlastL<ColorChange<TrInstant,Red,Red,Red,Red,LightYellow,Blue,Blue,Red,Blue,Red,Red,Red>>,LockupL<Strobe<ColorChange<TrInstant,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Rgb<200,255,255>,Yellow,Rgb<200,255,255>,Rgb<200,255,255>>,Black,20,16>,Strobe<ColorChange<TrInstant,White,White,White,White,White,White,White,Red,Rgb<200,255,255>,Red,White,White>,Black,20,16>>,LockupTrL<AlphaL<Mix<TwistAngle<>,RandomFlicker<Red,Black>,RandomFlicker<Yellow,Red>>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,SimpleClashL<Strobe<ColorChange<TrInstant,Yellow,Yellow,LemonChiffon,Red,Yellow,Yellow,Yellow,Cyan,White,Yellow,Yellow,Yellow>,Black,28,25>,260>,InOutTrL<TrWipe<500>,TrWipeInX<WavLen<EFFECT_RETRACTION>>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  406.  
  407. // Bluetooth Module:
  408. StylePtr<ON>(),
  409. "spare3"},
  410.  
  411.  
  412. // ****************
  413.  
  414.  
  415. { "PreFont;FontStd2/Rainbow;Shared/Random;Menus", "tracks/Cantina.wav",
  416. // Main Blade:
  417. StylePtr<Layers<StyleFire<StripesX<Int<3000>,Scale<TwistAngle<>,Int<-500>,Int<0>>,Red,Orange,Yellow,Green,Blue,Magenta>,StripesX<Int<3000>,Scale<TwistAngle<>,Int<-500>,Int<0>>,Tomato,OrangeRed,Orange,Yellow,SteelBlue,DeepPink>,0,3,FireConfig<0,2000,5>,FireConfig<0,2000,5>,FireConfig<0,2000,5>>,TransitionEffectL<TrConcat<TrInstant,BrownNoiseFlickerL<AlphaL<White,Int<16000>>,Int<50>>,TrSmoothFade<600>>,EFFECT_LOCKUP_END>,ResponsiveLockupL<Strobe<White,BrownNoiseFlicker<White,Red,300>,50,1>,TrConcat<TrInstant,White,TrFade<200>>,TrFade<400>,Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Int<10000>,Int<40000>>,Int<10000>>,Scale<SwingSpeed<100>,Int<10000>,Int<14000>>>,ResponsiveLightningBlockL<Strobe<White,AudioFlicker<White,Blue>,50,1>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,ResponsiveBlastWaveL<White,Int<400>,Scale<SwingSpeed<200>,Int<100>,Int<400>>>,ResponsiveClashL<White,TrInstant,TrFade<400>,Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Int<10000>,Int<40000>>,Int<10000>>>,TransitionEffectL<TrConcat<TrInstant,AudioFlickerL<RotateColorsX<Variation,White>>,TrFade<1200>>,EFFECT_IGNITION>,ResponsiveStabL<Red>,ResponsiveDragL<BrownNoiseFlickerL<White,Int<300>>,TrWipeIn<400>,TrFade<400>>,ResponsiveMeltL<Mix<TwistAngle<>,Red,Orange>,TrWipeIn<600>,TrSmoothFade<600>>,InOutTrL<TrWipeX<Scale<BladeAngle<>,Int<300>,Int<150>>>,TrWipeInX<Scale<BladeAngle<>,Int<600>,Int<300>>>>,TransitionEffectL<TrConcat<TrWipe<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>>>(),
  418.  
  419. // Bluetooth Module:
  420. StylePtr<ON>(),
  421. "rainbow"},
  422.  
  423.  
  424. // ****************
  425. // ****************
  426. // ****************
  427.  
  428.  
  429. { "PreFont;FontStd2/DsplyTsy;Shared/Random;Menus", "tracks/jedi.wav",
  430. // Main Blade:
  431. StylePtr<InOutHelper<SimpleClash<Lockup<Blast<ColorChange<TrInstant,Rgb<0,68,125>,Rgb<0,0,125>,Rgb<0,125,125>,Rgb<0,35,125>,Rgb<0,125,0>,Rgb<14,125,14>,Rgb<125,0,0>,Rgb<125,0,125>,Rgb<125,40,77>,Rgb<125,125,0>,Rgb<125,48,0>,Rgb<110,125,125>>,White>,RandomFlicker<Blue,White>>,White>,300,800,ColorChange<TrInstant,Rgb<0,68,125>,Rgb<0,0,125>,Rgb<0,125,125>,Rgb<0,35,125>,Rgb<0,125,0>,Rgb<14,125,14>,Rgb<125,0,0>,Rgb<125,0,125>,Rgb<125,40,77>,Rgb<125,125,0>,Rgb<125,48,0>,Rgb<110,125,125>>>>(),
  432.  
  433. // Bluetooth Module:
  434. StylePtr<ON>(),
  435. "display"},
  436.  
  437.  
  438. // ****************
  439.  
  440.  
  441. { "PreFont;FontStd2/Diagnstc;Shared/Random;Menus", "tracks/trail.wav",
  442. // Full range of colours.
  443. // Main Blade:
  444. StylePtr<InOutHelper<Cyan,300,800,ColorSequence<1250,DodgerBlue,Green,Rgb<28,255,28>,Red,Magenta,Rgb<255,80,154>,Yellow,Orange,Azure,DeepSkyBlue,Blue,Cyan>>>(),
  445.  
  446. // Bluetooth Module:
  447. StylePtr<ON>(),
  448. "diagnostic"},
  449.  
  450.  
  451. // ****************
  452.  
  453.  
  454. { "PreFont;FontStd2/Battery;Shared/Random;Menus", "tracks/rey.wav",
  455. // Main Blade:
  456. &style_charging,
  457.  
  458. // Bluetooth Module:
  459. &style_charging,
  460. "battery"},
  461.  
  462.  
  463. // *************************************************************************
  464.  
  465. // FOR BLADE PLUG CHARGING.
  466. { "FontStd2/Charger;Menus", "tracks/charger.wav",
  467. // Main Blade:
  468. ChargingStylePtr<Black>(),
  469.  
  470. // Bluetooth Module:
  471. StylePtr<OFF>(),
  472. "charging"},
  473. };
  474. // *************************************************************************
  475. // *************************************************************************
  476.  
  477. // BLUETOOTH MODULE
  478. struct Bluetooth {
  479. static constexpr float MaxAmps = 1.0;
  480. static constexpr float MaxVolts = 1000.0;
  481. static constexpr float P2Amps = 0.0;
  482. static constexpr float P2Volts = 0.0;
  483. static constexpr float R = 0.0;
  484. static const int Red = 0;
  485. static const int Green = 0;
  486. static const int Blue = 255;
  487. };
  488.  
  489. // *************************************************************************
  490. /*
  491. BLADE LENGTHS:
  492. KR Pixel Strip 36 inch (88cm) = 132 pixels.
  493. KR Pixel Strip 32 inch (82cm) = 122 pixels.
  494. KR Pixel Strip Shoto (72cm) = 108 pixels.
  495. LGT 36 inch = 128 pixels.
  496. LGT 32 inch = 114 pixels.
  497.  
  498. V3 PIXEL STRIP NOTES:
  499. Add 5 if using KR V3 strip with pixel tip LED.
  500. Also use three bladePowerPins to ensure enough power transfer.
  501.  
  502. BLADE ARRAY NOTES:
  503. Data 4 is NOT 5 volt tolerant.
  504. On V3.9 Proffie, Free Pads 1,2,3 = blade5Pin,blade6Pin,blade7Pin.
  505. */
  506. // ****************
  507. BladeConfig blades[] = {
  508. { 0, // KR 36 Inch. Note, replace zero with NO_BLADE when using Blade Detect.
  509. // Main Blade:
  510. WS281XBladePtr<132, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3>>(),
  511. // Bluetooth Module:
  512. SimpleBladePtr<Bluetooth, NoLED, NoLED, NoLED, bladePowerPin5, -1, -1, -1>(),
  513. CONFIGARRAY(presets) },
  514.  
  515. { 1, // LGT 36 Inch.
  516. // Main Blade:
  517. WS281XBladePtr<128, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3>>(),
  518. // Bluetooth Module:
  519. SimpleBladePtr<Bluetooth, NoLED, NoLED, NoLED, bladePowerPin5, -1, -1, -1>(),
  520. CONFIGARRAY(presets) },
  521.  
  522. { 2, // KR 32 Inch.
  523. // Main Blade:
  524. WS281XBladePtr<122, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3>>(),
  525. // Bluetooth Module:
  526. SimpleBladePtr<Bluetooth, NoLED, NoLED, NoLED, bladePowerPin5, -1, -1, -1>(),
  527. CONFIGARRAY(presets) },
  528.  
  529. { 3, // LGT 32 Inch.
  530. // Main Blade:
  531. WS281XBladePtr<114, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3>>(),
  532. // Bluetooth Module:
  533. SimpleBladePtr<Bluetooth, NoLED, NoLED, NoLED, bladePowerPin5, -1, -1, -1>(),
  534. CONFIGARRAY(presets) },
  535.  
  536. { 4, // KR Shoto.
  537. // Main Blade:
  538. WS281XBladePtr<108, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3>>(),
  539. // Bluetooth Module:
  540. SimpleBladePtr<Bluetooth, NoLED, NoLED, NoLED, bladePowerPin5, -1, -1, -1>(),
  541. CONFIGARRAY(presets) },
  542.  
  543. };
  544. #endif
  545.  
  546. // *************************************************************************
  547.  
  548. #ifdef CONFIG_BUTTONS
  549. // Button shorts to GND:
  550. // Button PowerButton(BUTTON_POWER, powerButtonPin, "pow");
  551. // #if NUM_BUTTONS == 2
  552. // Button AuxButton(BUTTON_AUX, auxPin, "aux");
  553.  
  554. // If you need to swap the MAIN and AUX buttons over, use this:
  555. // Button PowerButton(BUTTON_POWER, auxPin, "pow");
  556. // #if NUM_BUTTONS == 2
  557. // Button AuxButton(BUTTON_AUX, powerButtonPin, "aux");
  558.  
  559. // If you need the buttons to short to Batt+ or 3.3 Volt instead of Ground, use this:
  560. PullDownButton PowerButton(BUTTON_POWER, powerButtonPin, "pow");
  561. #if NUM_BUTTONS == 2
  562. PullDownButton AuxButton(BUTTON_AUX, auxPin, "aux");
  563. #endif
  564. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement