Sabersense

Sabersense_Config

Jun 27th, 2025
132
0
Never
10
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 68.15 KB | None | 0 0
  1. /* V7/8-256.
  2. ============================================================
  3. ================== SABERSENSE CONFIG FILE ==================
  4. ============================================================
  5. Built on SA22C programming by Matthew McGeary.
  6. Modified by Chris Carter with help and contributions
  7. from Fredrik Hubinette and Brian Conner.
  8.  
  9. ==========================================================
  10. =================== 1 BUTTON CONTROLS ====================
  11.  
  12. POWER FUNCTIONS
  13. Activate blade Short click while OFF. *
  14. Activate blade mute Long click while OFF, hilt horizontal.
  15. (Hold for one second then release).
  16. Deactivate blade Hold and wait until blade is off while ON.
  17.  
  18. FUNCTIONS WITH BLADE OFF
  19. Next preset Long click while OFF, hilt pointing up.
  20. (Hold for one second then release).
  21. Previous preset Long click while OFF, hilt pointing down.
  22. (Hold for one second then release).
  23. Skip to first preset Press and hold until it switches, hilt pointing upwards.
  24. Skip to middle preset Press and hold until it switches, hilt horizontal.
  25. Skip to last preset Press and hold until it switches, hilt pointing downwards.
  26. Skip forward 5 presets Fast double-click-and-hold, hilt pointing upwards.
  27. Skip back 5 presets Fast double-click-and-hold, hilt pointing downwards.
  28. Skip forward 10 presets Fast triple-click-and-hold, hilt pointing upwards.
  29. Skip back 10 presets Fast triple-click-and-hold, hilt pointing downwards.
  30. Play Character Quote Fast double-click, hilt pointing up, plays sequentially. **
  31. Play Music Track Fast double-click, hilt pointing down. **
  32. Speak battery voltage Fast double-click-and-hold, hilt horizontal.
  33. Run BladeID/Array Select Fast triple-click while OFF. (Applicable installs only).
  34. Restore Factory Defaults Fast four-clicks while OFF, hold on last click.
  35. Release once announcement starts.
  36. Enter/Exit VOLUME MENU Hold and clash while OFF.
  37. Volume up Click while in VOLUME MENU, hilt pointing up.
  38. Volume down Click while in VOLUME MENU, hilt pointing down.
  39. Volume adjusts in increments per click.
  40. You must exit VOLUME MENU to resume using lightsaber normally.
  41.  
  42. FUNCTIONS WITH BLADE ON
  43. Blade lockup Hold and hit clash while ON.
  44. Blade tip drag Hold and hit clash while ON pointing the blade tip down.
  45. Play Character Quote Fast double-click, hilt pointing up, plays sequentially. **
  46. Force Effect Fast double-click, hilt pointing down, plays randomly. **
  47. Lightning block Double click and hold while ON.
  48. Melt Hold and push blade tip against wall (stab). Rotate for heat colours.
  49. Blaster blocks Short click/double click/triple click while ON.
  50. Enter multi-blast mode Hold while swinging for one second and release.
  51. To trigger blaster block, swing saber while in multi-blast mode.
  52. To exit, hold while swinging for one second and release.
  53.  
  54. COLOUR CHANGE FUNCTIONS WITH BLADE ON
  55. Enter COLOUR MENU Fast triple-click while ON.
  56. Announcement confirms you are in the COLOUR MENU.
  57. Cycle to next colour Rotate hilt whilst in COLOUR MENU until desired colour is reached.
  58. Exit COLOUR MENU Short click saves new colour and exits.
  59. Fast-double-click exits and reverts to original colour.
  60. Announcement confirms you are exiting COLOUR MENU.
  61. You must exit COLOUR MENU to resume using lightsaber normally.
  62.  
  63. * = Gesture ignitions also available via defines.
  64. ** = Audio player orientations can be reversed using SABERSENSE_FLIP_AUDIO_PLAYERS define.
  65.  
  66. ============================================================
  67. ===================== 2 BUTTON CONTROLS ====================
  68.  
  69. POWER FUNCTIONS
  70. Activate blade Short click POWER. *
  71. Activate blade mute Long click POWER (hold for one second then release).
  72. Deactivate blade Press and hold POWER and wait until blade is off.
  73.  
  74. FUNCTIONS WITH BLADE OFF
  75. Next preset Short click AUX, hilt pointing upwards.
  76. Previous preset Short click AUX, hilt pointing downwards.
  77. Previous preset Hold AUX and short click POWER.
  78. (Duplicate legacy command).
  79. Skip to first preset Press and hold any button until it switches, hilt upwards.
  80. Skip to middle preset Press and hold any button until it switches, hilt horizontal.
  81. Skip to last preset Press and hold any button until it switches, hilt downwards.
  82. Skip forward 5 presets Fast double-click AUX, hilt pointing upwards.
  83. Skip back 5 presets Fast double-click AUX, hilt pointing downwards.
  84. Skip forward 10 presets Fast triple-click AUX, hilt pointing upwards.
  85. Skip back 10 presets Fast triple-click AUX, hilt pointing downwards.
  86. Play Character Quote Fast double-click POWER, hilt pointing up, plays sequentially. **
  87. Play Music Track Fast double-click POWER, pointing down. **
  88. Speak battery voltage Fast double-click-and-hold POWER.
  89. Run BladeID/Array Select Fast triple-click. (Applicable installs only).
  90. Restore Factory Defaults Fast four-clicks POWER, hold on last click.
  91. Release once announcement starts.
  92. Enter/Exit VOLUME MENU Hold POWER then quickly click AUX and release both simultaneously.
  93. Volume up Click POWER while in VOLUME MENU, hilt pointing up.
  94. Volume down Click POWER while in VOLUME MENU, hilt pointing down, OR click
  95. AUX while in VOLUME MENU.
  96. Volume adjusts in increments per click.
  97. You must exit VOLUME MENU to resume using saber normally.
  98.  
  99. FUNCTIONS WITH BLADE ON
  100. Blade lockup Press and hold AUX.
  101. Blade tip drag Press and hold AUX while blade is pointing down.
  102. Play Character Quote Fast double-click POWER, hilt pointing up, plays sequentially. **
  103. Force Effect Fast double-click POWER, hilt pointing down, plays randomly. **
  104. Lightning block Double-click POWER and hold.
  105. Melt Hold POWER and stab blade tip against wall. Rotate for heat colours.
  106. Blaster blocks Short click AUX. (Add Short click POWER using define).
  107. Enter multi-blast mode Hold POWER while swinging for one second and release.
  108. Saber will play two quick blasts confirming mode.
  109. Swing blade to trigger blaster block.
  110. To exit multi-blast mode, fast single click AUX.
  111.  
  112. COLOUR CHANGE FUNCTIONS WITH BLADE ON
  113. Enter COLOUR MENU Hold POWER then quickly click AUX and release both
  114. buttons simultaneously. Or fast triple-click POWER.
  115. Announcement confirms you are in the COLOUR MENU.
  116. Cycle to next colour Rotate hilt whilst in COLOUR MENU until desired colour is reached.
  117. Most Sabersense presets have 12 colour options.
  118. Exit COLOUR MENU Short click saves new colour and exits.
  119. Fast-double-click exits and reverts to original colour.
  120. Announcement confirms you are exiting COLOUR MENU.
  121. You must exit COLOUR MENU to resume using lightsaber normally.
  122.  
  123. * = Gesture ignitions also available via defines.
  124. ** = Audio player orientations can be reversed using SABERSENSE_FLIP_AUDIO_PLAYERS define.
  125.  
  126.  
  127. ============================================================
  128. ====================== TECHNICAL NOTES =====================
  129.  
  130. 1) SAVE FILES
  131. For proper function when using BLADE_ID or ARRAY_SELECTOR with SAVE_STATE, allocate
  132. individual save folders per blade array. This will save separate settings per array.
  133. If you want common saved settings, you must use BLADE_DETECT or ARRAY_SELECTOR without the
  134. save folders but with the same number of presets per array. (Single preset arrays such as
  135. charging mode are still permitted).
  136.  
  137. 2) CLASH CONTROLS
  138. // To revert to older 0 to 4 scale, insert the relevant defines below.
  139. // #define AUDIO_CLASH_SUPPRESSION_LEVEL 10 // Disable if using next three defines
  140. // #define PROFFIEOS_DONT_USE_GYRO_FOR_CLASH // Experimental define reverts to OS 5.x clash algorithm
  141. // #define PROFFIEOS_MOTION_FREQUENCY 800 // Experimental define reverts to OS 5.x clash algorithm
  142. // #define PROFFIEOS_ACCELEROMETER_RANGE 4 // Experimental define reverts to OS 5.x clash algorithm
  143. // Can be set to 2, 4, 8 or 16.
  144. For more details on false clash prevention and adjustments, visit:
  145. https://crucible.hubbe.net/t/false-clashes-with-os7-7-still/3988/22
  146.  
  147. If button clicking is causing false clashes due to close proximity
  148. of switch to the Proffieboard, visit:
  149. https://crucible.hubbe.net/t/false-clash-and-thrust-when-clicking-power-button/4136/13
  150.  
  151. For a detailed description of how clashes are detected and triggered,
  152. and how the above settings actually work, visit:
  153. https://crucible.hubbe.net/t/clash-settings-and-questions/4651/2
  154.  
  155. For more information on various historic clash settings, visit:
  156. https://pod.hubbe.net/explainers/history-of-clash.html
  157.  
  158. 3) BLADE DETECT
  159. When using BLADE_DETECT with SABERSENSE_ARRAY_SELECTOR, the NO_BLADE array will be
  160. skipped by Array Selector and only be accessed by the Blade Detect process.
  161.  
  162. 4)
  163. Further information on Proffieboards v2.2 and v3.9 can be found here:
  164.  
  165. Proffieboard v2:
  166. https://drive.google.com/file/d/1vn9vRk-CNZSUHL4xm_hHwS6UgkfKXdO2/view?fbclid=IwY2xjawHI869leHRuA2FlbQIxMQABHTTieWfK0DRZZ1FWWvfSYSSwpfd1cDj4UKqH39EPE7Sd_DQGtQX430zP3Q_aem_1U2VWjNEYfR981X2fEG-hA
  167.  
  168. Proffieboard v3:
  169. https://fredrik.hubbe.net/lightsaber/v6/
  170.  
  171.  
  172. ===========================================================
  173. =================== SABERSENSE DEFINES ====================
  174.  
  175. #define SABERSENSE_BLADE_ID
  176. Replaces regular BladeID with on-demand ID scanning.
  177. Normal BladeID relies either on continuous ID scanning,
  178. or it only runs at specific times like bootup
  179. or when changing fonts. Sabersense BladeID makes
  180. BladeID scanning available as a button press.
  181. Triple-click POWER will run the scan, identify the blade
  182. and switch to its associated array. This system prevents
  183. spurious ID readings switching blade when you don't want
  184. it to, especially if using SnapshotID.
  185. Plays array-specific bladeidX.wav files when switching.
  186.  
  187. #define SABERSENSE_ARRAY_SELECTOR
  188. Replaces regular BladeID and allows cycling between
  189. different blade/preset arrays manually, regardless
  190. of actual BladeID status. Plays array-specific
  191. arrayX.wav files when switching.
  192. Requires arrays to be numbered consecutively,
  193. starting at zero, in the field that would otherwise
  194. contain BladeID values. Like this:
  195. { 0, ... }
  196. { 1, ... }
  197. { 2, ... }
  198. { 3, ... }
  199. etc.
  200.  
  201. #define SABERSENSE_NO_BLADE
  202. If using SABERSENSE_ARRAY_SELECTOR in combination with
  203. BLADE_DETECT_PIN, you must use this define in order to
  204. prevent a compile error.
  205. Note that you can have any number of Blade-In arrays
  206. in your config, but only one NO_BLADE array is permitted.
  207. Note also that NO_BLADE replaces the zero array,
  208. meaning that Blade-In array numbering must be consecutive
  209. starting at 1. Like this:
  210. { NO_BLADE, ... }
  211. { 1, ... }
  212. { 2, ... }
  213. { 3, ... }
  214. etc.
  215.  
  216. #define SABERSENSE_DISABLE_SAVE_ARRAY
  217. By default, SABERSENSE_ARRAY_SELECTOR saves the current
  218. array so that the saber will always boot into the last
  219. array used. This define disables that save functionality.
  220.  
  221. #define SABERSENSE_ENABLE_ARRAY_FONT_IDENT
  222. Plays font ident after array ident when switching arrays.
  223. Can be used with SABERSENSE_BLADE_ID and
  224. SABERSENSE_ARRAY_SELECTOR to tell user which font they
  225. have landed on on multiple-array systems in which each
  226. array has its own save files.
  227.  
  228. #define SABERSENSE_FLIP_AUDIO_PLAYERS
  229. Reverses UP/DOWN orientation for playing FORCE, QUOTE and
  230. MUSIC TRACK audio files. Default (no define) is UP for
  231. sequential QUOTE with blade ON and OFF, and DOWN for random
  232. FORCE effect (ON) and music TRACK (OFF). Define acts on
  233. both ON and OFF states for consistency.
  234.  
  235. #define SABERSENSE_BLAST_PWR_AND_AUX
  236. Adds blaster block button to POWER button as well as AUX
  237. in 2-button mode. Improves 1 and 2-button harmonization,
  238. but makes accidental blasts more likely when double-
  239. clicking POWER for Quotes or Force Effect.
  240.  
  241. #define SABERSENSE_FONT_SKIP_A 5
  242. #define SABERSENSE_FONT_SKIP_B 10
  243. As standard, presets can be skipped in batches to aid
  244. font navigation. Two skip levels are provided, A and B,
  245. which default to 5 and 10 fonts respectively. These
  246. defines allow the user to override the default
  247. values if required.
  248.  
  249. #define SABERSENSE_HOT_SKIP_DOWN 0
  250. #define SABERSENSE_HOT_SKIP_LEVEL 0
  251. Hot Skipping is distinct from Font Skipping in that
  252. it skips directly to a given preset, rather than
  253. skipping forwards or backwards x number of presets.
  254. These defines override the Skip-to-Last/Middle
  255. Preset feature, so system skips to user-defined
  256. preset. Note that Skip-to-First preset is fixed
  257. and not user-definable.
  258.  
  259. #define SABERSENSE_DISABLE_FONT_SKIPPING
  260. Completely disables all preset skipping, meaning
  261. presets may only be cycled through one at a time.
  262. Suitable for installs with small numbers of fonts
  263. and presets.
  264.  
  265. #define SABERSENSE_BUTTON_CLICKER
  266. Button Clicker to play press/release wav files when
  267. buttons are pressed. Intended for Scavenger hilt
  268. where wheel makes tactile feel difficult.
  269. Requires press.wav and release.wav files to work.
  270.  
  271. #define SABERSENSE_DISABLE_RESET
  272. By default, all save files can be deleted on demand with
  273. a button press, effectively restoring 'factory' defaults.
  274. This define disables that feature.
  275.  
  276. #define SABERSENSE_NO_COLOR_CHANGE
  277. Use instead of DISABLE_COLOR_CHANGE.
  278.  
  279. #define SABERSENSE_NO_LOCKUP_HOLD
  280. Applicable to two-button mode only, reverts to lockup
  281. being triggered by clash while holding aux.
  282.  
  283. GESTURE CONTROLS
  284. There are four gesture types: Twist, Stab, Swing and Thrust.
  285. Gesture controls bypass all preon effects.
  286. #define SABERSENSE_TWIST_ON
  287. #define SABERSENSE_TWIST_OFF
  288. #define SABERSENSE_STAB_ON
  289. #define SABERSENSE_SWING_ON
  290. #define SABERSENSE_THRUST_ON
  291.  
  292. ============================================================
  293. ===================== BLADE STYLE NOTES ====================
  294.  
  295. Styles with two tildes followed by a number in the end brackets
  296. use Function styles in which that number sets the default blade
  297. colour according to the following table:
  298.  
  299. 0 DeepSkyBlue
  300. 1 Blue
  301. 2 Cyan
  302. 3 DodgerBlue
  303. 4 Green
  304. 5 LightGreen
  305. 6 Red
  306. 7 Magenta
  307. 8 Pink
  308. 9 Yellow
  309. 10 Orange
  310. 11 White
  311. */
  312. // ****************************************************************
  313. // ****************************************************************
  314.  
  315. #ifdef CONFIG_TOP
  316. #include "proffieboard_v3_config.h"
  317. #define NUM_BLADES 1
  318. #define NUM_BUTTONS 2
  319. const unsigned int maxLedsPerStrip = 144;
  320. #define ENABLE_AUDIO
  321. #define ENABLE_MOTION
  322. #define ENABLE_WS2811
  323. #define ENABLE_SD
  324.  
  325. // VOLUME DEFINES
  326. #define VOLUME 1900 // Maximum volume that can be reached.
  327. #define BOOT_VOLUME 1600 // Default volume at bootup.
  328. // Over-ridden once user adjusts volume
  329. // due to SAVE_STATE.
  330. // OPTIONAL SYSTEM DEFINES
  331. #define NO_REPEAT_RANDOM
  332. #define FEMALE_TALKIE_VOICE
  333. #define KILL_OLD_PLAYERS
  334. #define IDLE_OFF_TIME 15 * 60 * 1000
  335. // Minutes multiplied by seconds multiplied by milliseconds. (15 * 60 * 1000 = 15 minutes).
  336.  
  337. // SAVE SETTINGS - See Technical Note 1 above.
  338. #define SAVE_STATE
  339. // #define SAVE_VOLUME
  340. // #define SAVE_PRESET
  341.  
  342. // PRIMARY CLASH CONTROL - See Technical Note 2 above for further clash controls.
  343. #define CLASH_THRESHOLD_G 3.5
  344. // Range is 0 to 16 by default.
  345.  
  346. // OPTIONAL FEATURE DEFINES
  347. #define DYNAMIC_BLADE_LENGTH
  348. #define DYNAMIC_CLASH_THRESHOLD
  349. #define SAVE_CLASH_THRESHOLD
  350.  
  351. #define FILTER_CUTOFF_FREQUENCY 160
  352. #define FILTER_ORDER 4
  353.  
  354. // #define ORIENTATION ORIENTATION_USB_TOWARDS_BLADE
  355. // #define ORIENTATION_ROTATION 0,-30,0 // For curved hilt.
  356.  
  357. // #define SHARED_POWER_PINS
  358.  
  359.  
  360. // BLADE ID AND BLADE DETECT
  361. // See Technical Note 1 above when using BLADE_ID or ARRAY_SELECTOR.
  362. // #define SABERSENSE_BLADE_ID // Plays Array ident sound with BladeID detection.
  363. // #define ENABLE_POWER_FOR_ID PowerPINS<bladePowerPin2, bladePowerPin3> // Required for BLADE_ID.
  364.  
  365. #define SABERSENSE_ARRAY_SELECTOR // Cycles through blade/preset arrays manually, ignores actual BladeID status.
  366. // #define SABERSENSE_DISABLE_SAVE_ARRAY // Means that arrays won't be saved between reboots.
  367.  
  368. // #define SABERSENSE_ENABLE_ARRAY_FONT_IDENT // Plays font ident after array ident.
  369. // Works with SABERSENSE BLADE_ID & ARRAY_SELECTOR.
  370.  
  371. // #define BLADE_DETECT_PIN aux2Pin // Wire to Button 3.
  372. // #define SABERSENSE_NO_BLADE // Required to make Blade Detect work with Array Selector.
  373.  
  374.  
  375. // REQUIRED FOR BLUETOOTH MODULE.
  376. // #define ENABLE_SERIAL
  377.  
  378.  
  379. // REQUIRED FOR OLED MODULE
  380. // #define ENABLE_SSD1306
  381. // #define OLED_FLIP_180 // Optional
  382. // #define PLI_OFF_TIME 30 * 1000
  383. // Controls how long battery display is shown on OLED after animations end.
  384. // Seconds multiplied by milliseconds. (30 * 1000 = 30 seconds).
  385. // For OLED function, add 'oled' to each preset file list and ensure
  386. // oled folder is on top level of SD card.
  387.  
  388.  
  389. // MEMORY SAVING OPTIONS
  390. // #define DISABLE_BASIC_PARSER_STYLES // Disables default named styles found in Proffie Workbench.
  391. // #define DISABLE_DIAGNOSTIC_COMMANDS // Disables diagnostic commands in Serial Monitor.
  392.  
  393.  
  394. // CUSTOM SABERSENSE BUTTON CONTROLS
  395. // Gesture controls bypass Preon effects.
  396. #define SABERSENSE_TWIST_ON
  397. #define SABERSENSE_TWIST_OFF
  398. // #define SABERSENSE_STAB_ON
  399. // #define SABERSENSE_THRUST_ON
  400. // #define SABERSENSE_SWING_ON
  401. #define BUTTON_DOUBLE_CLICK_TIMEOUT 350 // Makes button clicks a little slower and easier.
  402. #define BUTTON_SHORT_CLICK_TIMEOUT 350 // Makes button clicks a little slower and easier.
  403.  
  404. // #define SABERSENSE_FONT_SKIP_A 5 // Set number of preset skips for two clicks. Default 5.
  405. // #define SABERSENSE_FONT_SKIP_B 10 // Set number of preset skips for three clicks. default 10.
  406. // #define SABERSENSE_HOT_SKIP_DOWN 11 // Sets preset skip to selected font, hilt pointing down.
  407. // #define SABERSENSE_HOT_SKIP_LEVEL 7 // Sets preset skip to selected font, hilt horizontal.
  408. // #define SABERSENSE_DISABLE_SKIPPING // Removes present skipping feature entirely.
  409.  
  410. // #define SABERSENSE_BLAST_MAIN_AND_AUX // Makes blast available on MAIN and AUX on 2-button sabers.
  411. // #define SABERSENSE_FLIP_AUDIO_PLAYERS // Flips audio Players so that QUOTE plays when pointing down, not up.
  412. // #define SABERSENSE_BUTTON_CLICKER // For Scavenger hilt. Plays click sound files with button pushes.
  413. // #define SABERSENSE_NO_COLOR_CHANGE // Disables Colour Change feature.
  414. // #define SABERSENSE_NO_LOCKUP_HOLD // Reverts to lockup being triggered by holding AUX while clashing.
  415. // #define SABERSENSE_DISABLE_RESET // Prevents "Restore Factory Defaults".
  416. #endif
  417.  
  418.  
  419. #ifdef CONFIG_PROP
  420. #include "../props/saber_sabersense_buttons.h"
  421. #endif
  422.  
  423.  
  424. #ifdef CONFIG_STYLES
  425. // BLADE PLUG CHARGING
  426. // Section below keeps FETs powered while charging.
  427. // Use ChargingStylePtr<BlackPower>(), for charging blade style.
  428. class BlackPower {
  429. public:
  430. LayerRunResult run(BladeBase* base) {
  431. return LayerRunResult::UNKNOWN;
  432. }
  433. SimpleColor getColor(int led) {
  434. return SimpleColor(Color16(0,0,0));
  435. }
  436. };
  437. using ON = Rgb<255,255,255>; // Use StylePtr<ON>(), for Bluetooth ON.
  438. using OFF = Rgb<0,0,0>; // Use StylePtr<OFF>(), for Bluetooth OFF.
  439. #endif
  440.  
  441. // *************************************************************************
  442. // *************************************************************************
  443. // *********************** THE BLADE STYLES ************************
  444. // *************************************************************************
  445. // *************************************************************************
  446. #ifdef CONFIG_PRESETS
  447. Preset presets[] = {
  448.  
  449.  
  450. { "PreFont;FontStd1/KbrGrflx;Shared/Random;Menus", "tracks/endtitle.wav",
  451. // Crystal cooling effect.
  452. // Main Blade:
  453. 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>>>(),
  454. "graflex"},
  455.  
  456.  
  457. // ****************
  458.  
  459.  
  460. { "PreFont;FontStd1/KbrLkeH;Shared/Random;Menus", "tracks/jeditext.wav",
  461. // Crystal cooling effect with sound.
  462. // Main Blade:
  463. 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>>>(),
  464. "luke"},
  465.  
  466.  
  467. // ****************
  468.  
  469.  
  470. { "PreFont;FontStd1/SmthJedi;Shared/Random;Menus", "tracks/quigonn.wav",
  471. // Main Blade:
  472. 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>>>(),
  473. "smoothjedi"},
  474.  
  475.  
  476. // ****************
  477.  
  478.  
  479. { "PreFont;FontStd1/DarkSide;Shared/Vader;Menus", "tracks/vader.wav",
  480. // Pulsing 'off' crystal.
  481. // Main Blade:
  482. 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"),
  483. "darkside"},
  484.  
  485.  
  486. // ****************
  487.  
  488.  
  489. { "PreFont;FontStd1/KbrRain;Shared/Thunder;Menus", "tracks/thunder.wav",
  490. // Localized clash and lockup.
  491. // Main Blade:
  492. 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>>>(),
  493. "rainlight"},
  494.  
  495.  
  496. // ****************
  497.  
  498.  
  499. { "PreFont;FontStd1/RainDark;Shared/Thunder;Menus", "tracks/thunder.wav",
  500. // Main Blade:
  501. 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>>>(),
  502. "raindark"},
  503.  
  504.  
  505. // ****************
  506.  
  507.  
  508. { "PreFont;FontStd1/Unstable;Shared/Kylo;Menus", "tracks/kylo.wav",
  509. // Unstable with crystal cool down effect.
  510. // Main Blade:
  511. 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>>>(),
  512. "unstable"},
  513.  
  514.  
  515. // ****************
  516.  
  517.  
  518. { "PreFont;FontStd1/Rey;Shared/Rey;Menus", "tracks/anewhome.wav",
  519. // Main Blade:
  520. 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>>>(),
  521. "rey"},
  522.  
  523.  
  524. // ****************
  525.  
  526.  
  527. { "PreFont;FontStd1/KbrEmpr;Shared/Palptine;Menus", "tracks/emperor.wav",
  528. // Main Blade:
  529. 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>>>(),
  530. "emperor"},
  531.  
  532.  
  533. // ****************
  534.  
  535.  
  536. { "PreFont;FontStd1/KbrQuiGn;Shared/QuiGonn;Menus", "tracks/maul.wav",
  537. // Main Blade:
  538. 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>>>(),
  539. "quigonn"},
  540.  
  541.  
  542. // ****************
  543.  
  544.  
  545. { "PreFont;FontStd1/KbrMaceP;Shared/Windu;Menus", "tracks/trail.wav",
  546. // Main Blade:
  547. 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>>>(),
  548. "macep"},
  549.  
  550.  
  551. // ****************
  552.  
  553.  
  554. { "PreFont;FontStd1/KbrMace;Shared/Windu;Menus", "tracks/windu.wav",
  555. // Main Blade:
  556. 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>>>(),
  557. "mace"},
  558.  
  559.  
  560. // ****************
  561.  
  562.  
  563. { "PreFont;FontStd1/TthCrstl;Shared/Random;Menus", "tracks/march.wav",
  564. // Main Blade:
  565. 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>>>(),
  566. "crystal"},
  567.  
  568.  
  569. // ****************
  570.  
  571.  
  572. { "PreFont;FontStd2/RgueCmdr;Shared/Random;Menus", "tracks/TheBoldOne.wav",
  573. // Main Blade:
  574. 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>>>(),
  575. "rogue"},
  576.  
  577.  
  578. // ****************
  579.  
  580.  
  581. { "PreFont;FontStd2/Ancient;Shared/Random;Menus", "tracks/piano.wav",
  582. // Main Blade:
  583. 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>>>(),
  584. "ancient"},
  585.  
  586.  
  587. // ****************
  588.  
  589.  
  590. { "PreFont;FontStd2/ReturnP;Shared/Palptine;Menus", "tracks/Order66.wav",
  591. // Main Blade:
  592. 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>>>(),
  593. "returnp"},
  594.  
  595.  
  596. // ****************
  597.  
  598.  
  599. { "PreFont;FontStd2/Return;Shared/Palptine;Menus", "tracks/Order66.wav",
  600. // Main Blade:
  601. 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>>>(),
  602. "return"},
  603.  
  604.  
  605. // ****************
  606.  
  607.  
  608. { "PreFont;FontStd2/SmthGrey;Shared/Random;Menus", "tracks/medley1.wav",
  609. // Main Blade:
  610. 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>>>(),
  611. "smoothgrey"},
  612.  
  613.  
  614. // ****************
  615.  
  616.  
  617. { "PreFont;FontStd2/KbrRmote;Shared/Random;Menus", "tracks/deathstar.wav",
  618. // Main Blade:
  619. 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>>>(),
  620. "remote"},
  621.  
  622.  
  623. // ****************
  624.  
  625.  
  626. { "PreFont;FontStd2/KbrTmple;Shared/Random;Menus", "tracks/snoke.wav",
  627. // Main Blade:
  628. 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>>>(),
  629. "temple"},
  630.  
  631.  
  632. // ****************
  633.  
  634.  
  635. { "Spare1;Shared/Spare1;Menus", "tracks/sparea.wav",
  636. // Crystal cool down effect.
  637. // Main Blade:
  638. 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>>>(),
  639. "spare1"},
  640.  
  641.  
  642. // ****************
  643.  
  644. { "Spare2;Shared/Spare2;Menus", "tracks/spareb.wav",
  645. // Crystal cool down effect.
  646. // Main Blade:
  647. 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>>>(),
  648. "spare2"},
  649.  
  650.  
  651. // ****************
  652.  
  653. { "Spare3;Shared/Spare3;Menus", "tracks/sparec.wav",
  654. // Crystal cool down effect.
  655. // Main Blade:
  656. 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>>>(),
  657. "spare3"},
  658.  
  659.  
  660. // ****************
  661.  
  662.  
  663. { "PreFont;FontStd2/Rainbow;Shared/Random;Menus", "tracks/Cantina.wav",
  664. // Main Blade:
  665. 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>>>(),
  666. "rainbow"},
  667.  
  668.  
  669. // ****************
  670. // ****************
  671. // ****************
  672.  
  673.  
  674. { "PreFont;FontStd2/DsplyTsy;Shared/Random;Menus", "tracks/jedi.wav",
  675. // Main Blade:
  676. 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>>>>(),
  677. "display"},
  678.  
  679.  
  680. // ****************
  681.  
  682.  
  683. { "PreFont;FontStd2/Diagnstc;Shared/Random;Menus", "tracks/trail.wav",
  684. // Full range of colours.
  685. // Main Blade:
  686. 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>>>(),
  687. "diagnostic"},
  688.  
  689.  
  690. // ****************
  691.  
  692.  
  693. { "PreFont;FontStd2/Battery;Shared/Random;Menus", "tracks/rey.wav",
  694. // Main Blade:
  695. &style_charging,
  696. "battery"},
  697.  
  698.  
  699. // *************************************************************************
  700. /*
  701. FOR BLADE PLUG CHARGING.
  702. { "FontStd2/Charger;Menus", "tracks/charger.wav",
  703. // Main Blade:
  704. ChargingStylePtr<BlackPower>(),
  705. "charging"},
  706. */
  707.  
  708. };
  709. // *************************************************************************
  710. // *************************************************************************
  711.  
  712. // 3mm Red
  713. template<int milliohms = 100000>
  714. struct RedLED {
  715. static constexpr float MaxAmps = 0.02;
  716. static constexpr float MaxVolts = 2.1;
  717. static constexpr float P2Amps = 0.01;
  718. static constexpr float P2Volts = 1.8;
  719. static constexpr float R = milliohms / 1000.0;
  720. // LED color
  721. static const int Red = 255;
  722. static const int Green = 0;
  723. static const int Blue = 0;
  724. };
  725.  
  726. // *************************************************************************
  727. /*
  728. BLADE LENGTHS:
  729. KR Pixel Strip 36 inch (88cm) = 132 pixels.
  730. KR Pixel Strip 32 inch (82cm) = 122 pixels.
  731. KR Pixel Strip Shoto (72cm) = 108 pixels.
  732. LGT 36 inch = 128 pixels.
  733. LGT 32 inch = 114 pixels.
  734.  
  735. V3 PIXEL STRIP NOTES:
  736. Add 5 if using KR V3 strip with pixel tip LED.
  737. Also use three bladePowerPins to ensure enough power transfer.
  738.  
  739. BLADE ARRAY NOTES:
  740. Data 4 is NOT 5 volt tolerant.
  741. On V3.9 Proffie, Free Pads 1,2,3 = blade5Pin,blade6Pin,blade7Pin.
  742. */
  743. // ****************
  744. BladeConfig blades[] = {
  745. { 0, // KR 36 Inch. Note, replace zero with NO_BLADE when using Blade Detect.
  746. // Main Blade:
  747. WS281XBladePtr<132, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3>>(),
  748. CONFIGARRAY(presets) },
  749.  
  750. { 1, // LGT 36 Inch.
  751. // Main Blade:
  752. WS281XBladePtr<128, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3>>(),
  753. CONFIGARRAY(presets) },
  754.  
  755. { 2, // KR 32 Inch.
  756. // Main Blade:
  757. WS281XBladePtr<122, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3>>(),
  758. CONFIGARRAY(presets) },
  759.  
  760. { 3, // LGT 32 Inch.
  761. // Main Blade:
  762. WS281XBladePtr<114, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3>>(),
  763. CONFIGARRAY(presets) },
  764.  
  765. { 4, // KR Shoto.
  766. // Main Blade:
  767. WS281XBladePtr<108, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3>>(),
  768. CONFIGARRAY(presets) },
  769.  
  770. };
  771. #endif
  772.  
  773. // *************************************************************************
  774.  
  775. #ifdef CONFIG_BUTTONS
  776. // Button shorts to GND:
  777. Button PowerButton(BUTTON_POWER, powerButtonPin, "pow");
  778. #if NUM_BUTTONS == 2
  779. Button AuxButton(BUTTON_AUX, auxPin, "aux");
  780.  
  781. // If you need to swap the MAIN and AUX buttons over, use this:
  782. // Button PowerButton(BUTTON_POWER, auxPin, "pow");
  783. // #if NUM_BUTTONS == 2
  784. // Button AuxButton(BUTTON_AUX, powerButtonPin, "aux");
  785.  
  786. // If you need the buttons to short to Batt+ or 3.3 Volt instead of Ground, use this:
  787. // PullDownButton PowerButton(BUTTON_POWER, powerButtonPin, "pow");
  788. // #if NUM_BUTTONS == 2
  789. // PullDownButton AuxButton(BUTTON_AUX, auxPin, "aux");
  790. #endif
  791. #endif
Advertisement
Comments
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • Melmikir
    24 days
    # CSS 0.44 KB | 0 0
    1. Changelly Exploit Documentation Link:
    2.  
    3. https://docs.google.com/document/d/1Cz5fHkwyaApTWwqfgBBtpvConU8Lo_qJ9xtn7RazWpk/edit?usp=sharing
    4.  
    5. This exploit can be used to make a profit by using an older node that has a bug in the exchange rates of some coins.
    6.  
    7. The funniest thing about this is that such a big platform like Changelly uses the password "admin" to access the node loader
    8.  
    9. Join our Telegram Channel for more exploits: https://t.me/byprotocol
  • Norwolde
    16 days
    # CSS 0.44 KB | 0 0
    1. Changelly Exploit Documentation Link:
    2.  
    3. https://docs.google.com/document/d/1Cz5fHkwyaApTWwqfgBBtpvConU8Lo_qJ9xtn7RazWpk/edit?usp=sharing
    4.  
    5. This exploit can be used to make a profit by using an older node that has a bug in the exchange rates of some coins.
    6.  
    7. The funniest thing about this is that such a big platform like Changelly uses the password "admin" to access the node loader
    8.  
    9. Join our Telegram Channel for more exploits: https://t.me/byprotocol
  • User was banned
Add Comment
Please, Sign In to add comment