Skip to content

Instantly share code, notes, and snippets.

@nabbynz
Last active January 7, 2019 22:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nabbynz/22bf4d1d1cda4b4de53619cb9b26e387 to your computer and use it in GitHub Desktop.
Save nabbynz/22bf4d1d1cda4b4de53619cb9b26e387 to your computer and use it in GitHub Desktop.
Textures MAX
// ==UserScript==
// @name Textures MAX
// @description Adds a lot of extra options to the "Texture Packs" page.
// @version 1.2.2
// * This script modifies some built in TagPro functions and as such other userscripts might need to be disabled.
// * There are a lot of options available and some combinations will make the game look bad - use the presets to get started.
//
// @include *://tagpro*.koalabeast.com/textures/
// @include *://tagpro-*.koalabeast.com:*
// @include *://tagpro*.koalabeast.com/game
// @updateURL https://gist.github.com/nabbynz/22bf4d1d1cda4b4de53619cb9b26e387/raw/Textures_MAX.user.js
// @downloadURL https://gist.github.com/nabbynz/22bf4d1d1cda4b4de53619cb9b26e387/raw/Textures_MAX.user.js
// @supportURL https://www.reddit.com/message/compose/?to=nabbybz&subject=Bug%20Report%20-%20Textures%20MAX
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_deleteValue
// @grant GM_addStyle
// @author nabby (also uses code by Rattpack, ballparts)
// ==/UserScript==
// @exclude http://tagpro-maptest.koalabeast.com:*
// @include http://*.newcompte.fr:* //NC servers won't work until PIXI is updated there
console.log('START: ' + GM_info.script.name + ' (v' + GM_info.script.version + ' by ' + GM_info.script.author + ')');
var defaultOptions = {
gameoptions: {
ball_transparency: '0',
fading_splats: false,
transparent_background: false,
filters_brightness: false,
filters_brightness_value: 75,
},
ballglow: {
modify: false,
red_color: '#FF0000',
red_opacity: '60',
blue_color: '#2591FF',
blue_opacity: '70',
radius: '60',
below: false,
},
sbpl: {
modify: false,
x: '18',
y: '18',
color: '#ffd700',
opacity: '60',
},
gamewallpaper: {
type: 'none',
imagedata: '',
stretch: true,
gradient_type: 'circle',
gradient_preset: 'blue',
color: '#000040',
color1: '#222222',
color2: '#090909',
bg_random: false,
bg_random_saturation: '50',
bg_random_brightness: '50',
},
altSpawnShadow: {
modify: false,
},
modify_TP: {
modify: false,
line_color: '#00FF00',
line_opacity: '100',
line_width: '2',
line_radius: '19',
fill_color: '#00FF00',
fill_opacity: '15',
},
modify_RB: {
modify: false,
line_color: '#FFFF00',
line_opacity: '0',
line_width: '0',
line_radius: '19',
fill_color: '#FFFF00',
fill_opacity: '75',
speed: '150'
},
modify_JJ: {
modify: false,
line_color: '#235957',
fill_color: '#40A8A5',
x: '8',
y: '32',
radius: '5',
},
textures: {
tiles: '',
speedpad: '',
speedpadRed: '',
speedpadBlue: '',
portal: '',
splats: '',
gravityWell: '',
},
gravityWell: {
enable: false,
linewidth: '50',
color: '#00bb00',
opacity: '40',
dashsize: '0',
useGradient: true,
},
floortiles: {
modify: false,
plain: false,
tint_color: '#000000',
tint_opacity: '50',
random: false,
random_saturation: '15',
random_brightness: '25',
nofloor: false,
transparency: '0',
margin: '0',
specks: false,
specks_color: '#FFFFFF',
specks_length: '1',
specks_width: '1',
specks_angle: '45',
specks_count: '50',
specks_opacity: '25',
image: false,
imagedata: '',
image_floor: false,
image_brightness: '100',
image_contrast: '100',
image_saturation: '100',
image_opacity: '100',
image_grayscale: '0',
image_sepia: '0',
image_huerotate: '0',
image_blur: '0',
image_walls: false,
image_walls_brightness: '100',
image_walls_contrast: '100',
image_walls_saturation: '100',
image_walls_opacity: '100',
image_walls_grayscale: '0',
image_walls_sepia: '0',
image_walls_huerotate: '0',
image_walls_blur: '0',
hexagons: false,
hexagons_size: '100',
hexagons_linewidth: '1',
hexagons_margin: '1',
hexagons_blur: '0',
hexagons_stroke: true,
hexagons_stroke_color: '#888888',
hexagons_stroke_opacity: '25',
hexagons_stroke_gradient: '15',
hexagons_fill: false,
hexagons_fill_color: '#FFFFFF',
hexagons_fill_opacity: '25',
hexagons_fill_gradient: '0',
checkered: false,
checkered_size: '40',
checkered_margin: '0',
checkered_altTintColor: '#000000',
checkered_altTintOpacity: '5',
checkered_random: false,
checkered_blur: '0',
grids_square: false,
grids_square_size: '40',
grids_square_margin: '0',
grids_square_color: '#666666',
grids_square_linewidth: '1',
grids_square_opacity: '75',
grids_square_dashed: '0',
grids_square_blur: '0',
grids_square_altSides: false,
grids_square_altColor: '#000000',
grids_diagonal: false,
grids_diagonal_size: '40',
grids_diagonal_color: '#777777',
grids_diagonal_opacity: '50',
grids_diagonal_dashed: '0',
grids_diagonal_blur: '0',
gradient: false,
gradient_color1: '#cccccc',
gradient_color2: '#777777',
gradient_opacity1: '50',
gradient_opacity2: '50',
gradient_type: 'centerline',
gradient_repeats: '2',
splotches: false,
splotches_color_base: '#000000',
splotches_color_scheme: 'normal',
splotches_color_opacity: '35',
splotches_color_saturation: '70',
splotches_color_brightness: '60',
splotches_radius: '110',
splotches_spacing: '95',
},
shapes: {
centerline: false,
centerline_color: '#00FF00',
centerline_width: '2',
centerline_dashsize: '5',
centerline_opacity: '100',
flagline: false,
flagline_color: '#000000',
flagline_width: '1',
flagline_dashsize: '10',
flagline_opacity: '50',
circle: false,
circle_red_color: '#FF4040',
circle_blue_color: '#5555FF',
circle_yellow_color: '#FFFF80',
circle_width: '10',
circle_radius: '95',
circle_opacity: '80',
circle_gradient: true,
circle_dashsize: '0',
octagon: false,
octagon_red_color: '#FF4040',
octagon_blue_color: '#5555FF',
octagon_yellow_color: '#FFFF80',
octagon_width: '6',
octagon_radius: '80',
octagon_opacity: '80',
octagon_sides: '8',
octagon_fillopacity: '0',
cross: false,
cross_red_color: '#FF4040',
cross_blue_color: '#5555FF',
cross_yellow_color: '#FFFF80',
cross_width: '1',
cross_radius_inner: '16',
cross_radius_outer: '800',
cross_opacity: '80',
baseradius: false,
baseradius_red_color: '#FF4040',
baseradius_blue_color: '#5555FF',
baseradius_opacity: '80',
baseradius_width: '4',
baseradius_dashsize: '40',
basefill: false,
basefill_red_color: '#FF4040',
basefill_blue_color: '#5555FF',
basefill_opacity: '5',
},
walls: {
modify: false,
color: '#000000',
opacity: '0',
brightness: '100',
contrast: '100',
sepia: '0',
invert: '0',
shadow: true,
shadow_color: '#000000',
shadow_size: '3',
shadow_blur: '2',
shadow_opacity: '60',
shadow_include_gates: true,
specks: false,
specks_color: '#FFFFFF',
specks_length: '-2',
specks_width: '1',
specks_angle: '135',
specks_count: '75',
specks_opacity: '-35',
checkered: false,
checkered_size: '5',
checkered_margin: '0',
checkered_altTintColor: '#ffffff',
checkered_altTintOpacity: '10',
checkered_random: false,
grids_square: false,
grids_square_size: '5',
grids_square_margin: '0',
grids_square_color: '#FFFFFF',
grids_square_linewidth: '1',
grids_square_opacity: '15',
grids_square_dashed: '0',
grids_square_blur: '0',
grids_square_altSides: false,
grids_square_altColor: '#000000',
grids_diagonal: false,
grids_diagonal_size: '10',
grids_diagonal_color: '#FFFFFF',
grids_diagonal_opacity: '10',
grids_diagonal_dashed: '0',
grids_diagonal_blur: '0',
gradient: false,
gradient_color1: '#000000',
gradient_color2: '#FFFFFF',
gradient_opacity1: '8',
gradient_opacity2: '23',
gradient_type: 'centercircle',
gradient_repeats: '20',
splotches: false,
splotches_color_base: '#000000',
splotches_color_scheme: 'normal',
splotches_color_opacity: '65',
splotches_color_saturation: '70',
splotches_color_brightness: '60',
splotches_radius: '110',
splotches_spacing: '95',
separatelayer: false,
},
glow: {
boosts_red: false,
boosts_red_color: '#FF4040',
boosts_red_radius: '100',
boosts_red_opacity: '15',
boosts_blue: false,
boosts_blue_color: '#5555FF',
boosts_blue_radius: '100',
boosts_blue_opacity: '15',
boosts_yellow: false,
boosts_yellow_color: '#FFFF80',
boosts_yellow_radius: '100',
boosts_yellow_opacity: '10',
flags_red: false,
flags_red_color: '#FF4040',
flags_red_radius: '200',
flags_red_opacity: '15',
flags_blue: false,
flags_blue_color: '#5555FF',
flags_blue_radius: '200',
flags_blue_opacity: '15',
flags_yellow: false,
flags_yellow_color: '#FFFF80',
flags_yellow_radius: '200',
flags_yellow_opacity: '10',
spikes: false,
spikes_color: '#BBBBBB',
spikes_radius: '30',
spikes_opacity: '15',
bombs: false,
bombs_color: '#BB00BB',
bombs_radius: '30',
bombs_opacity: '20',
pups: false,
pups_color: '#FF7700',
pups_radius: '40',
pups_opacity: '30',
},
spikes: {
modify: false,
color: '#FF8877',
opacity: '20',
brightness: '100',
contrast: '100',
sepia: '0',
shadow: false,
shadow_size: '3',
shadow_blur: '1',
shadow_color: '#000000',
shadow_opacity: '60',
shapes_star: false,
shapes_star_color: '#ffffff',
shapes_star_width: '2',
shapes_star_fill: false,
shapes_star_fill_color: '#ffffff',
shapes_star_spikes: '4',
shapes_star_inner: '5',
shapes_star_outer: '12',
shapes_star_border: false,
shapes_star_border_color: '#dddddd',
shapes_star_border_radius: '14',
shapes_star_border_linewidth: '1',
shapes_star_border_fill: false,
shapes_star_border_fill_color: '#cccccc',
shapes_star_border_fill_radius: '14',
shapes_star_border_fill_gradient: false,
},
bombs: {
modify: false,
color: '#BB00BB',
opacity: '20',
brightness: '100',
contrast: '100',
sepia: '0',
shadow: false,
shadow_size: '3',
shadow_blur: '1',
shadow_color: '#000000',
shadow_opacity: '60',
},
pups: {
tp_modify: false,
tp_color: '#00FF00',
tp_opacity: '40',
rb_modify: false,
rb_color: '#FF7700',
rb_opacity: '40',
jj_modify: false,
jj_color: '#0080FF',
jj_opacity: '40',
shadow: false,
shadow_size: '2',
shadow_blur: '2',
shadow_color: '#000000',
shadow_opacity: '60',
},
gates: {
neutral: false,
neutral_fill: false,
neutral_fill_color: '#999999',
neutral_fill_opacity: '100',
neutral_fill_margin: '0',
neutral_pattern: false,
neutral_pattern_color: '#cccccc',
neutral_pattern_opacity: '100',
neutral_pattern_size: '40',
neutral_pattern_margin: '0',
neutral_pattern_linewidth: '1',
neutral_pattern_stroke: true,
neutral_pattern_fill: true,
neutral_pattern_pyramid: false,
neutral_border: false,
neutral_border_color: '#444444',
neutral_border_linewidth: '1',
neutral_border_margin: '0',
neutral_cross: false,
neutral_cross_color: '#000000',
neutral_cross_opacity: '50',
neutral_cross_linewidth: '1',
neutral_cross_margin: '0',
green: false,
green_fill: false,
green_fill_color: '#00cc00',
green_fill_opacity: '100',
green_fill_margin: '0',
green_pattern: false,
green_pattern_color: '#00dd00',
green_pattern_opacity: '100',
green_pattern_size: '40',
green_pattern_margin: '0',
green_pattern_linewidth: '1',
green_pattern_stroke: true,
green_pattern_fill: true,
green_pattern_pyramid: false,
green_border: false,
green_border_color: '#444444',
green_border_linewidth: '1',
green_border_margin: '0',
green_cross: false,
green_cross_color: '#009900',
green_cross_opacity: '50',
green_cross_linewidth: '1',
green_cross_margin: '0',
red: false,
red_fill: false,
red_fill_color: '#cc0000',
red_fill_opacity: '100',
red_fill_margin: '0',
red_pattern: false,
red_pattern_color: '#dd0000',
red_pattern_opacity: '100',
red_pattern_size: '40',
red_pattern_margin: '0',
red_pattern_linewidth: '1',
red_pattern_stroke: true,
red_pattern_fill: true,
red_pattern_pyramid: false,
red_border: false,
red_border_color: '#444444',
red_border_linewidth: '1',
red_border_margin: '0',
red_cross: false,
red_cross_color: '#009900',
red_cross_opacity: '50',
red_cross_linewidth: '1',
red_cross_margin: '0',
blue: false,
blue_fill: false,
blue_fill_color: '#0000cc',
blue_fill_opacity: '100',
blue_fill_margin: '0',
blue_pattern: false,
blue_pattern_color: '#0080FF',
blue_pattern_opacity: '100',
blue_pattern_size: '40',
blue_pattern_margin: '0',
blue_pattern_linewidth: '1',
blue_pattern_stroke: true,
blue_pattern_fill: true,
blue_pattern_pyramid: false,
blue_border: false,
blue_border_color: '#444444',
blue_border_linewidth: '1',
blue_border_margin: '0',
blue_cross: false,
blue_cross_color: '#000099',
blue_cross_opacity: '50',
blue_cross_linewidth: '1',
blue_cross_margin: '0',
drawFloorUnderneath: true,
original_margin: '0',
},
team: {
modify: false,
plain: false,
red_color: '#FF4040',
blue_color: '#5555FF',
yellow_color: '#FFFF00',
gradient: true,
gradient_position_red: '16',
gradient_position_blue: '24',
gradient_position_yellow: '20',
gradient_outer: '-35',
gradient_size: '30',
gradient2_red_color: '#FF4040',
gradient2_blue_color: '#5555FF',
gradient2_yellow_color: '#FFFF00',
gradient2_type: 'diagonal',
gradient2_opacity1: '100',
gradient2_opacity2: '100',
gradient2_repeats: '0',
gradient2_roundedrect: '0',
gradient2_redrawopp: false,
pattern: false,
pattern_size: '5',
pattern_margin: '1',
pattern_blur: '0',
pattern_red_color: '#000000',
pattern_blue_color: '#000000',
pattern_yellow_color: '#000000',
pattern_opacity: '50',
pattern_altsides: false,
border: false,
border_size: '40',
border_linewidth: '1',
border_red_color: '#000000',
border_blue_color: '#000000',
border_yellow_color: '#000000',
border_opacity: '100',
brightness: '100',
contrast: '100',
sepia: '0',
opacity: '100',
margin: '0',
drawFloorUnderneath: true,
original_margin: '0',
},
endzone: {
modify: false,
red_color: '#FF4040',
blue_color: '#5555FF',
opacity: '100',
margin: '0',
checkered: true,
checkered_size: '20',
checkered_alt_red_color: '#DDDDDD',
checkered_alt_blue_color: '#DDDDDD',
stripes: false,
stripes_size: '20',
stripes_red_color: '#888888',
stripes_blue_color: '#888888',
border: false,
border_size: '40',
border_linewidth: '1',
border_red_color: '#DDDDDD',
border_blue_color: '#DDDDDD',
border_opacity: '100',
border_count: '1',
drawFloorUnderneath: true,
original_margin: '0',
},
redball: {
modify: false,
color: '#FF0000',
size:'19',
opacity:'100',
gradient: false,
gradient_color: '#000000',
gradient_start: '5',
gradient_stop: '25',
gradient_position: '20',
border_width: '0',
border_segments: '0',
shapes_arc: false,
shapes_arc_width: '2',
shapes_arc_position: '14',
shapes_arc_size: '4',
shapes_star: false,
shapes_star_color: '#ffffff',
shapes_star_transparent: false,
shapes_star_width: '2',
shapes_star_spikes: '4',
shapes_star_inner: '5',
shapes_star_outer: '12',
shapes_star_fill: false,
shapes_star_fill_color: '#ffffff',
shapes_overlay: false,
shapes_overlay_transparency: '20',
},
blueball: {
modify: false,
color: '#0080FF',
size:'19',
opacity:'100',
gradient: false,
gradient_color: '#000000',
gradient_start: '5',
gradient_stop: '25',
gradient_position: '20',
border_width: '0',
border_segments: '0',
shapes_arc: false,
shapes_arc_width: '2',
shapes_arc_position: '14',
shapes_arc_size: '4',
shapes_star: false,
shapes_star_color: '#ffffff',
shapes_star_transparent: false,
shapes_star_width: '2',
shapes_star_spikes: '4',
shapes_star_inner: '5',
shapes_star_outer: '12',
shapes_star_fill: false,
shapes_star_fill_color: '#ffffff',
shapes_overlay: false,
shapes_overlay_transparency: '20',
}
};
var options = $.extend(true, {}, defaultOptions, GM_getValue('options', defaultOptions));
//console.log(options);
if (!GM_getValue('firsttime', false) && (!window.location.port || !window.location.href.endsWith('/game'))) {
var message = 'This script modifies certain TagPro textures and functions, and as such other userscripts might need to be disabled.\n\n' +
'There are a lot of options available and some combinations will make the game look bad - USE THE PRESETS TO GET STARTED.\n\n' +
'[This message will not appear again]\n\n';
alert(message);
setTimeout(function() {
$('li[data-target="#TPE_Container"]').click();
}, 500);
GM_setValue('firsttime', true);
}
var tileCache = {};
var flagLocs = { red:{x:null, y:null}, blue:{x:null, y:null}, yellow:{x:null, y:null}, ezred:{locs:[], x:null, y:null}, ezblue:{locs:[], x:null, y:null}, teamred:[], teamblue:[], teamyellow:[], halfway:{x:null, y:null}, bombs:[], spikes:[], pups:[], boosts:{ neutral:[], red:[], blue:[] }, gravityWells:[] };
//"Please" returns a random color (it's very cool, check it out: https://github.com/Fooidge/PleaseJS)
/*!Please JS v0.4.2, Jordan Checkman 2014, Checkman.io, MIT License, Have fun.*/
!function(e,r,a){"function"==typeof define&&define.amd?define([],a):"object"==typeof exports?module.exports=a():r[e]=a()}("Please",this,function(){"use strict";function e(){function e(e,r,a){var o=Math.random;return a instanceof l&&(o=a.random),Math.floor(o()*(r-e+1))+e}function r(e,r,a){var o=Math.random;return a instanceof l&&(o=a.random),o()*(r-e)+e}function a(e,r,a){return Math.max(r,Math.min(e,a))}function o(e,r){var a;switch(e){case"hex":for(a=0;a<r.length;a++)r[a]=F.HSV_to_HEX(r[a]);break;case"rgb":for(a=0;a<r.length;a++)r[a]=F.HSV_to_RGB(r[a]);break;case"rgb-string":for(a=0;a<r.length;a++){var o=F.HSV_to_RGB(r[a]);r[a]="rgb("+o.r+","+o.g+","+o.b+")"}break;case"hsv":break;default:console.error("Format not recognized.")}return r}function n(e){var r=F.HSV_to_RGB(e),a=(299*r.r+587*r.g+114*r.b)/1e3;return a>=128?"dark":"light"}function t(e){var r={};for(var a in e)e.hasOwnProperty(a)&&(r[a]=e[a]);return r}function l(e){function r(){o=(o+1)%256,n=(n+a[o])%256;var e=a[o];return a[o]=a[n],a[n]=e,a[(a[o]+a[n])%256]}for(var a=[],o=0,n=0,t=0;256>t;t++)a[t]=t;for(var l=0,F=0;256>l;l++){F=(F+a[l]+e.charCodeAt(l%e.length))%256;var s=a[l];a[l]=a[F],a[F]=s}this.random=function(){for(var e=0,a=0,o=1;8>e;e++)a+=r()*o,o*=256;return a/0x10000000000000000}}var F={},s={aliceblue:"F0F8FF",antiquewhite:"FAEBD7",aqua:"00FFFF",aquamarine:"7FFFD4",azure:"F0FFFF",beige:"F5F5DC",bisque:"FFE4C4",black:"000000",blanchedalmond:"FFEBCD",blue:"0000FF",blueviolet:"8A2BE2",brown:"A52A2A",burlywood:"DEB887",cadetblue:"5F9EA0",chartreuse:"7FFF00",chocolate:"D2691E",coral:"FF7F50",cornflowerblue:"6495ED",cornsilk:"FFF8DC",crimson:"DC143C",cyan:"00FFFF",darkblue:"00008B",darkcyan:"008B8B",darkgoldenrod:"B8860B",darkgray:"A9A9A9",darkgrey:"A9A9A9",darkgreen:"006400",darkkhaki:"BDB76B",darkmagenta:"8B008B",darkolivegreen:"556B2F",darkorange:"FF8C00",darkorchid:"9932CC",darkred:"8B0000",darksalmon:"E9967A",darkseagreen:"8FBC8F",darkslateblue:"483D8B",darkslategray:"2F4F4F",darkslategrey:"2F4F4F",darkturquoise:"00CED1",darkviolet:"9400D3",deeppink:"FF1493",deepskyblue:"00BFFF",dimgray:"696969",dimgrey:"696969",dodgerblue:"1E90FF",firebrick:"B22222",floralwhite:"FFFAF0",forestgreen:"228B22",fuchsia:"FF00FF",gainsboro:"DCDCDC",ghostwhite:"F8F8FF",gold:"FFD700",goldenrod:"DAA520",gray:"808080",grey:"808080",green:"008000",greenyellow:"ADFF2F",honeydew:"F0FFF0",hotpink:"FF69B4",indianred:"CD5C5C",indigo:"4B0082",ivory:"FFFFF0",khaki:"F0E68C",lavender:"E6E6FA",lavenderblush:"FFF0F5",lawngreen:"7CFC00",lemonchiffon:"FFFACD",lightblue:"ADD8E6",lightcoral:"F08080",lightcyan:"E0FFFF",lightgoldenrodyellow:"FAFAD2",lightgray:"D3D3D3",lightgrey:"D3D3D3",lightgreen:"90EE90",lightpink:"FFB6C1",lightsalmon:"FFA07A",lightseagreen:"20B2AA",lightskyblue:"87CEFA",lightslategray:"778899",lightslategrey:"778899",lightsteelblue:"B0C4DE",lightyellow:"FFFFE0",lime:"00FF00",limegreen:"32CD32",linen:"FAF0E6",magenta:"FF00FF",maroon:"800000",mediumaquamarine:"66CDAA",mediumblue:"0000CD",mediumorchid:"BA55D3",mediumpurple:"9370D8",mediumseagreen:"3CB371",mediumslateblue:"7B68EE",mediumspringgreen:"00FA9A",mediumturquoise:"48D1CC",mediumvioletred:"C71585",midnightblue:"191970",mintcream:"F5FFFA",mistyrose:"FFE4E1",moccasin:"FFE4B5",navajowhite:"FFDEAD",navy:"000080",oldlace:"FDF5E6",olive:"808000",olivedrab:"6B8E23",orange:"FFA500",orangered:"FF4500",orchid:"DA70D6",palegoldenrod:"EEE8AA",palegreen:"98FB98",paleturquoise:"AFEEEE",palevioletred:"D87093",papayawhip:"FFEFD5",peachpuff:"FFDAB9",peru:"CD853F",pink:"FFC0CB",plum:"DDA0DD",powderblue:"B0E0E6",purple:"800080",rebeccapurple:"663399",red:"FF0000",rosybrown:"BC8F8F",royalblue:"4169E1",saddlebrown:"8B4513",salmon:"FA8072",sandybrown:"F4A460",seagreen:"2E8B57",seashell:"FFF5EE",sienna:"A0522D",silver:"C0C0C0",skyblue:"87CEEB",slateblue:"6A5ACD",slategray:"708090",slategrey:"708090",snow:"FFFAFA",springgreen:"00FF7F",steelblue:"4682B4",tan:"D2B48C",teal:"008080",thistle:"D8BFD8",tomato:"FF6347",turquoise:"40E0D0",violet:"EE82EE",wheat:"F5DEB3",white:"FFFFFF",whitesmoke:"F5F5F5",yellow:"FFFF00",yellowgreen:"9ACD32"},i=.618033988749895,u={hue:null,saturation:null,value:null,base_color:"",greyscale:!1,grayscale:!1,golden:!0,full_random:!1,colors_returned:1,format:"hex",seed:null},c={scheme_type:"analogous",format:"hex"},h={golden:!1,format:"hex"};return F.NAME_to_HEX=function(e){return e=e.toLowerCase(),e in s?s[e]:(console.error("Color name not recognized."),void 0)},F.NAME_to_RGB=function(e){return F.HEX_to_RGB(F.NAME_to_HEX(e))},F.NAME_to_HSV=function(e){return F.HEX_to_HSV(F.NAME_to_HEX(e))},F.HEX_to_RGB=function(e){var r=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;e=e.replace(r,function(e,r,a,o){return r+r+a+a+o+o});var a=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return a?{r:parseInt(a[1],16),g:parseInt(a[2],16),b:parseInt(a[3],16)}:null},F.RGB_to_HEX=function(e){return"#"+((1<<24)+(e.r<<16)+(e.g<<8)+e.b).toString(16).slice(1)},F.HSV_to_RGB=function(e){var r,a,o,n,t,l,F,s,i=e.h,u=e.s,c=e.v;if(0===u)return{r:c,g:c,b:c};switch(i/=60,n=Math.floor(i),t=i-n,l=c*(1-u),F=c*(1-u*t),s=c*(1-u*(1-t)),n){case 0:r=c,a=s,o=l;break;case 1:r=F,a=c,o=l;break;case 2:r=l,a=c,o=s;break;case 3:r=l,a=F,o=c;break;case 4:r=s,a=l,o=c;break;case 5:r=c,a=l,o=F}return{r:Math.floor(255*r),g:Math.floor(255*a),b:Math.floor(255*o)}},F.RGB_to_HSV=function(e){var r=e.r/255,a=e.g/255,o=e.b/255,n=0,t=0,l=0,F=Math.min(r,Math.min(a,o)),s=Math.max(r,Math.max(a,o));if(F===s)return l=F,{h:0,s:0,v:l};var i=r===F?a-o:o===F?r-a:o-r,u=r===F?3:o===F?1:5;return n=60*(u-i/(s-F)),t=(s-F)/s,l=s,{h:n,s:t,v:l}},F.HSV_to_HEX=function(e){return F.RGB_to_HEX(F.HSV_to_RGB(e))},F.HEX_to_HSV=function(e){return F.RGB_to_HSV(F.HEX_to_RGB(e))},F.make_scheme=function(e,r){function n(e){return{h:e.h,s:e.s,v:e.v}}var l,F,s,i,u,h=t(c);if(null!==r)for(var d in r)r.hasOwnProperty(d)&&(h[d]=r[d]);var g=[e];switch(h.scheme_type.toLowerCase()){case"monochromatic":case"mono":for(u=1;2>=u;u++)l=n(e),s=l.s+.1*u,s=a(s,0,1),i=l.v+.1*u,i=a(i,0,1),l.s=s,l.v=i,g.push(l);for(u=1;2>=u;u++)l=n(e),s=l.s-.1*u,s=a(s,0,1),i=l.v-.1*u,i=a(i,0,1),l.s=s,l.v=i,g.push(l);break;case"complementary":case"complement":case"comp":l=n(e),l.h=(l.h+180)%360,g.push(l);break;case"split-complementary":case"split-complement":case"split":l=n(e),l.h=(l.h+165)%360,g.push(l),l=n(e),l.h=Math.abs((l.h-165)%360),g.push(l);break;case"double-complementary":case"double-complement":case"double":l=n(e),l.h=(l.h+180)%360,g.push(l),l.h=(l.h+30)%360,F=n(l),g.push(l),l.h=(l.h+180)%360,g.push(F);break;case"analogous":case"ana":for(u=1;5>=u;u++)l=n(e),l.h=(l.h+20*u)%360,g.push(l);break;case"triadic":case"triad":case"tri":for(u=1;3>u;u++)l=n(e),l.h=(l.h+120*u)%360,g.push(l);break;default:console.error("Color scheme not recognized.")}return o(h.format.toLowerCase(),g),g},F.make_color=function(n){var s=[],c=t(u),h=null;if(null!==n)for(var d in n)n.hasOwnProperty(d)&&(c[d]=n[d]);var g=null;"string"==typeof c.seed&&(g=new l(c.seed)),c.base_color.length>0&&(h=c.base_color.match(/^#?([0-9a-f]{3})([0-9a-f]{3})?$/i)?F.HEX_to_HSV(c.base_color):F.NAME_to_HSV(c.base_color));for(var m=0;m<c.colors_returned;m++){var f,E,b,p=e(0,360,g);null!==h?(f=a(e(h.h-5,h.h+5,g),0,360),E=0===h.s?0:r(.4,.85,g),b=r(.4,.85,g),s.push({h:f,s:E,v:b})):(f=c.greyscale===!0||c.grayscale===!0?0:c.golden===!0?(p+p/i)%360:null===c.hue||c.full_random===!0?p:a(c.hue,0,360),E=c.greyscale===!0||c.grayscale===!0?0:c.full_random===!0?r(0,1,g):null===c.saturation?.4:a(c.saturation,0,1),b=c.full_random===!0?r(0,1,g):c.greyscale===!0||c.grayscale===!0?r(.15,.75,g):null===c.value?.75:a(c.value,0,1),s.push({h:f,s:E,v:b}))}return o(c.format.toLowerCase(),s),s},F.make_contrast=function(e,r){var l=t(h);if(null!==r)for(var s in r)r.hasOwnProperty(s)&&(l[s]=r[s]);var u,c,d=n(e);if(l.golden===!0)c=e.h*(1+i)%360;else{var g=F.make_scheme(e,{scheme_type:"complementary",format:"hsv"})[1];c=a(g.h-30,0,360)}var m;return"dark"===d?m=a(e.v-.25,0,1):"light"===d&&(m=a(e.v+.25,0,1)),u=[{h:c,s:e.s,v:m}],o(l.format.toLowerCase(),u),u[0]},F}return e()});
tagpro.ready(function() {
if (window.location.port || window.location.href.endsWith('/game')) { //we're in a game...
var tr = tagpro.renderer;
var floorBackgroundImage = new Image();
if (options.floortiles.image && options.floortiles.imagedata) {
//an onload callback doesn't work here, so we just load the src and hope it's loaded early enough (todo: find a better way!)
floorBackgroundImage.src = options.floortiles.imagedata;
}
var modifyBackgroundTexture = function(container, floorCtx) {
let floorCanvas = floorCtx.canvas;
let mapWidth = floorCtx.canvas.width;
let mapHeight = floorCtx.canvas.height;
let mapRatio = mapWidth / mapHeight;
let backgroundTexture = PIXI.RenderTexture.create(mapWidth, mapHeight);
let canvasRenderer = new PIXI.CanvasRenderer();
canvasRenderer.render(container, backgroundTexture);
let extrasCanvas = document.createElement('canvas');
extrasCanvas.width = mapWidth;
extrasCanvas.height = mapHeight;
let extrasCtx = extrasCanvas.getContext('2d');
let tempWallCanvas = document.createElement('canvas');
tempWallCanvas.width = mapWidth;
tempWallCanvas.height = mapHeight;
let tempWallCtx = tempWallCanvas.getContext('2d');
let wallCanvas = document.createElement('canvas');
wallCanvas.width = mapWidth;
wallCanvas.height = mapHeight;
let wallCtx = wallCanvas.getContext('2d');
let fwCanvas = document.createElement('canvas'); //used to clip wall shadows from *outside* the map
fwCanvas.width = mapWidth;
fwCanvas.height = mapHeight;
let fwCtx = fwCanvas.getContext('2d');
let gateCanvas = document.createElement('canvas');
gateCanvas.width = mapWidth;
gateCanvas.height = mapHeight;
let gateCtx = gateCanvas.getContext('2d');
let spikeCanvas = document.createElement('canvas');
spikeCanvas.width = mapWidth;
spikeCanvas.height = mapHeight;
let spikeCtx = spikeCanvas.getContext('2d');
let teamTileCanvas = document.createElement('canvas');
teamTileCanvas.width = mapWidth;
teamTileCanvas.height = mapHeight;
let teamTileCtx = teamTileCanvas.getContext('2d');
let tempFloorTileCanvas = document.createElement('canvas');
tempFloorTileCanvas.width = 40;
tempFloorTileCanvas.height = 40;
let tempFloorTileCtx = tempFloorTileCanvas.getContext('2d');
let tempFloorTile_FirstDraw = false;
let tilesImage = tagpro.tiles.image;
let tileBaseColor = options.floortiles.tint_color;
if (options.floortiles.random) tileBaseColor = Please.make_color({
saturation: options.floortiles.random_saturation / 100,
value: options.floortiles.random_brightness / 100
})[0];
if (options.spikes.modify) {
if (options.spikes.opacity > 0) setTint(spikeCanvas, options.spikes.color, options.spikes.opacity / 100);
let filters = '';
if (options.spikes.brightness !== '100') filters += 'brightness(' + options.spikes.brightness + '%) ';
if (options.spikes.contrast !== '100') filters += 'contrast(' + options.spikes.contrast + '%) ';
if (options.spikes.sepia > 0) filters += 'sepia(' + options.spikes.sepia + '%) ';
if (options.spikes.shadow && options.spikes.shadow_opacity > 0) filters += 'drop-shadow(' + options.spikes.shadow_size+'px ' + options.spikes.shadow_size+'px ' + options.spikes.shadow_blur+'px ' + hexToRgbA(options.spikes.shadow_color, options.spikes.shadow_opacity/100) + ') ';
if (filters) spikeCtx.filter = filters;
}
//Draw all the tiles...
for (let x=0; x<tagpro.map.length; x++) {
for (let y=0; y<tagpro.map[0].length; y++) {
let mapTileId = Math.floor(tagpro.map[x][y]);
let floorMapTileId = tagpro.floorMap[x][y];
//Draw a floor tile...
if (mapTileId >= 2 || floorMapTileId >= 2) {//xxy
if (!options.team.drawFloorUnderneath && (mapTileId === 11 || mapTileId === 12 || mapTileId === 23 || floorMapTileId === 11 || floorMapTileId === 12 || floorMapTileId === 23)) {
//
} else if (!options.endzone.drawFloorUnderneath && (mapTileId === 17 || mapTileId === 18 || floorMapTileId === 17 || floorMapTileId === 18)) {
//
} else if (!options.gates.drawFloorUnderneath && mapTileId === 9) {
//
} else {
floorCtx.save();
if (options.floortiles.modify && options.floortiles.plain) {
floorCtx.fillStyle = tileBaseColor;
floorCtx.fillRect(x*40, y*40, 40, 40);
} else {
if (options.floortiles.modify && options.floortiles.tint_opacity > 0) {
if (!tempFloorTile_FirstDraw) {
tempFloorTileCtx.drawImage(tilesImage, tagpro.tiles[2].x*40,tagpro.tiles[2].y*40,40,40, 0,0,40,40);
setTint(tempFloorTileCanvas, tileBaseColor, options.floortiles.tint_opacity / 100);
floorCtx.drawImage(tempFloorTileCanvas, 0,0,40,40, x*40,y*40,40,40);
tempFloorTile_FirstDraw = true;
} else {
floorCtx.drawImage(tempFloorTileCanvas, 0,0,40,40, x*40,y*40,40,40);
}
} else {
floorCtx.drawImage(tilesImage, tagpro.tiles[2].x*40, tagpro.tiles[2].y*40, 40, 40, x*40,y*40,40,40);
}
}
floorCtx.restore();
}
}
//Draw any floorMap team or endzone tiles (under diagonal walls)...
if (floorMapTileId > 2) {
if (floorMapTileId === 11 || floorMapTileId === 12 || floorMapTileId === 23) {
let margin = +options.team.original_margin;
let edgeLength = 40 - margin * 2;
if (options.team.modify) {
drawCustomTile(floorMapTileId, tilesImage, options.team.gradient2);
teamTileCtx.drawImage(tileCache[floorMapTileId], 0,0,40,40, x*40+margin,y*40+margin,edgeLength,edgeLength);
} else {
teamTileCtx.drawImage(tilesImage, tagpro.tiles[floorMapTileId].x*40, tagpro.tiles[floorMapTileId].y*40, 40, 40, x*40+margin,y*40+margin,edgeLength,edgeLength);
}
} else if (floorMapTileId === 17 || floorMapTileId === 18) {
let margin = +options.endzone.original_margin;
let edgeLength = 40 - margin * 2;
if (options.endzone.modify) {
drawCustomTile(floorMapTileId);
teamTileCtx.drawImage(tileCache[floorMapTileId], 0,0,40,40, x*40+margin,y*40+margin,edgeLength,edgeLength);
} else {
teamTileCtx.drawImage(tilesImage, tagpro.tiles[floorMapTileId].x*40, tagpro.tiles[floorMapTileId].y*40, 40, 40, x*40+margin,y*40+margin,edgeLength,edgeLength);
}
}
}
//Draw other map tiles...
if (mapTileId > 2) {
if (mapTileId === 7) { //spike
if (options.spikes.modify) {
if (options.spikes.shapes_star) {
drawCustomTile(mapTileId);
spikeCtx.drawImage(tileCache[mapTileId], 0,0,40,40, x*40,y*40,40,40);
} else {
spikeCtx.drawImage(tilesImage, tagpro.tiles[mapTileId].x*40, tagpro.tiles[mapTileId].y*40, 40, 40, x*40, y*40, 40, 40);
}
} else {
spikeCtx.drawImage(tilesImage, tagpro.tiles[mapTileId].x*40, tagpro.tiles[mapTileId].y*40, 40, 40, x*40, y*40, 40, 40);
}
} else if (mapTileId === 9) { //gates (if using shadows)
if (options.walls.modify && options.walls.shadow && options.walls.shadow_include_gates) {
let margin = +options.gates.original_margin;
let edgeLength = 40 - margin * 2;
if ((tagpro.map[x][y] === 9 && options.gates.neutral) || (tagpro.map[x][y] === 9.1 && options.gates.green) || (tagpro.map[x][y] === 9.2 && options.gates.red) || (tagpro.map[x][y] === 9.3 && options.gates.blue)) {
drawCustomTile(mapTileId);
gateCtx.drawImage(tileCache[mapTileId], 0,0,40,40, x*40+margin,y*40+margin,edgeLength,edgeLength);
} else {
gateCtx.drawImage(tilesImage, tagpro.tiles[mapTileId].x*40, tagpro.tiles[mapTileId].y*40, 40, 40, x*40+margin, y*40+margin, edgeLength, edgeLength);
}
}
} else if (mapTileId === 11 || mapTileId === 12 || mapTileId === 23) { //team
let margin = +options.team.original_margin;
let edgeLength = 40 - margin * 2;
if (options.team.modify) {
drawCustomTile(mapTileId, tilesImage, options.team.gradient2);
teamTileCtx.drawImage(tileCache[mapTileId], 0,0,40,40, x*40+margin,y*40+margin,edgeLength,edgeLength);
} else {
teamTileCtx.drawImage(tilesImage, tagpro.tiles[mapTileId].x*40, tagpro.tiles[mapTileId].y*40, 40, 40, x*40+margin, y*40+margin, edgeLength, edgeLength);
}
} else if (mapTileId === 17 || mapTileId === 18) { //endzone
let margin = +options.endzone.original_margin;
let edgeLength = 40 - margin * 2;
if (options.endzone.modify) {
drawCustomTile(mapTileId);
teamTileCtx.drawImage(tileCache[mapTileId], 0,0,40,40, x*40+margin,y*40+margin,edgeLength,edgeLength);
} else {
teamTileCtx.drawImage(tilesImage, tagpro.tiles[mapTileId].x*40, tagpro.tiles[mapTileId].y*40, 40, 40, x*40+margin, y*40+margin, edgeLength, edgeLength);
}
} else if (mapTileId === 8) { //button
teamTileCtx.drawImage(tilesImage, tagpro.tiles[mapTileId].x*40, tagpro.tiles[mapTileId].y*40, 40, 40, x*40, y*40, 40, 40);
} else if (mapTileId === 22) { //gravityWell
teamTileCtx.drawImage(tilesImage, 520, 0, 40, 40, x*40, y*40, 40, 40);
}
}
//Draw wallMap tiles...
if (tagpro.wallMap[x][y].some(el => el !== 0)) {
for (let q=0; q<4; q++) {
let wallTileId = tagpro.wallMap[x][y][q];
if (tagpro.tiles[wallTileId]) {
let xo = 0;
let yo = 0;
if ((q === 1) || (q === 2)) xo = 20;
if ((q === 2) || (q === 3)) yo = 20;
tempWallCtx.drawImage(tilesImage, tagpro.tiles[wallTileId].x*40, tagpro.tiles[wallTileId].y*40, 20, 20, x*40+xo, y*40+yo, 20, 20);
}
}
}
}
}
fwCtx.drawImage(floorCanvas, 0, 0);
fwCtx.drawImage(tempWallCanvas, 0, 0);
floorCtx.save();
floorCtx.globalCompositeOperation = 'source-atop'; //draw only where something is drawn already (i.e. the map shape)
//draw a background image on the floor if present and ready...
if (options.floortiles.image && options.floortiles.image_floor && floorBackgroundImage.height) {
floorCtx.save();
let filters = '';
if (options.floortiles.image_blur > 0) filters += 'blur('+options.floortiles.image_blur+'px) ';
if (options.floortiles.image_brightness !== '100') filters += 'brightness('+options.floortiles.image_brightness+'%) ';
if (options.floortiles.image_contrast > '100') filters += 'contrast('+options.floortiles.image_contrast+'%) ';
if (options.floortiles.image_saturation > '100') filters += 'saturate('+options.floortiles.image_saturation+'%) ';
if (options.floortiles.image_opacity < 100) filters += 'opacity('+options.floortiles.image_opacity+'%) ';
if (options.floortiles.image_grayscale > 0) filters += 'grayscale('+options.floortiles.image_grayscale+'%) ';
if (options.floortiles.image_sepia > 0) filters += 'sepia('+options.floortiles.image_sepia+'%) ';
if (options.floortiles.image_huerotate > 0) filters += 'hue-rotate('+options.floortiles.image_huerotate+'deg) ';
if (filters) floorCtx.filter = filters;
let imageRatio = (floorBackgroundImage.width / floorBackgroundImage.height);
let widthRatio = (imageRatio < mapRatio ? imageRatio : mapRatio);
let heightRatio = (imageRatio < mapRatio ? mapRatio : imageRatio);
floorCtx.drawImage(floorBackgroundImage, 0, 0, floorBackgroundImage.width, floorBackgroundImage.height, 0, 0, mapWidth*widthRatio, mapHeight*heightRatio);
floorCtx.filter = 'none';
floorCtx.restore();
}
//apply pretty things to it...
//addFloorGradient(extrasCtx, mapWidth, mapHeight);
if (options.floortiles.gradient) addGradient(extrasCtx, mapWidth, mapHeight, options.floortiles.gradient_type, options.floortiles.gradient_color1, options.floortiles.gradient_color2, options.floortiles.gradient_opacity1, options.floortiles.gradient_opacity2, options.floortiles.gradient_repeats);
if (options.floortiles.splotches) addSplotches(extrasCtx, mapWidth, mapHeight, 'floortiles', 'screen');
if (options.floortiles.checkered) addCheckered(extrasCtx, mapWidth, mapHeight);
if (options.floortiles.hexagons) addHexagons(extrasCtx, mapWidth, mapHeight);
if (options.floortiles.grids_diagonal) addDiagonalGrid(extrasCtx, mapWidth, mapHeight);
if (options.floortiles.grids_square) addSquareGrid(extrasCtx, mapWidth, mapHeight);
if (options.floortiles.specks) addRandoms(extrasCtx, mapWidth, mapHeight);
//Add Gravity Well outer radius circle...
if (options.gravityWell.enable && flagLocs.gravityWells.length) {
let radius = 260;
if (options.gravityWell.linewidth > 1) radius = 260 + (options.gravityWell.linewidth / 2);
for (let i=0; i<flagLocs.gravityWells.length; i++) {
drawBaseCircle(extrasCtx, +options.gravityWell.linewidth, radius, options.gravityWell.color, options.gravityWell.opacity/100, options.gravityWell.useGradient, +options.gravityWell.dashsize, flagLocs.gravityWells[i].x+20, flagLocs.gravityWells[i].y+20);
}
}
//add the lighting glows...
if (options.glow.bombs) {
for (let i=0; i<flagLocs.bombs.length; i++) {
addLightGlow(extrasCtx, flagLocs.bombs[i].x+20, flagLocs.bombs[i].y+20, options.glow.bombs_radius, options.glow.bombs_color, options.glow.bombs_opacity/100);
}
}
if (options.glow.pups) {
for (let i=0; i<flagLocs.pups.length; i++) {
addLightGlow(extrasCtx, flagLocs.pups[i].x+20, flagLocs.pups[i].y+20, options.glow.pups_radius, options.glow.pups_color, options.glow.pups_opacity/100);
}
}
if (options.glow.spikes) {
for (let i=0; i<flagLocs.spikes.length; i++) {
addLightGlow(extrasCtx, flagLocs.spikes[i].x+20, flagLocs.spikes[i].y+20, options.glow.spikes_radius, options.glow.spikes_color, options.glow.spikes_opacity/100);
}
}
if (options.glow.boosts_yellow) {
for (let i=0; i<flagLocs.boosts.neutral.length; i++) {
addLightGlow(extrasCtx, flagLocs.boosts.neutral[i].x+20, flagLocs.boosts.neutral[i].y+20, options.glow.boosts_yellow_radius, options.glow.boosts_yellow_color, options.glow.boosts_yellow_opacity/100);
}
}
if (options.glow.boosts_red) {
for (let i=0; i<flagLocs.boosts.red.length; i++) {
addLightGlow(extrasCtx, flagLocs.boosts.red[i].x+20, flagLocs.boosts.red[i].y+20, options.glow.boosts_red_radius, options.glow.boosts_red_color, options.glow.boosts_red_opacity/100);
}
}
if (options.glow.boosts_blue) {
for (let i=0; i<flagLocs.boosts.blue.length; i++) {
addLightGlow(extrasCtx, flagLocs.boosts.blue[i].x+20, flagLocs.boosts.blue[i].y+20, options.glow.boosts_blue_radius, options.glow.boosts_blue_color, options.glow.boosts_blue_opacity/100);
}
}
//add base shapes...
if (flagLocs.red.x && flagLocs.blue.x) {
if (options.shapes.circle) drawBaseShape(extrasCtx, 'circle', options.shapes.circle_red_color, flagLocs.red.x+20, flagLocs.red.y+20);
if (options.shapes.cross) drawBaseShape(extrasCtx, 'radial', options.shapes.cross_red_color, flagLocs.red.x+20, flagLocs.red.y+20);
if (options.shapes.octagon) drawBaseShape(extrasCtx, 'octagon', options.shapes.octagon_red_color, flagLocs.red.x+20, flagLocs.red.y+20);
if (options.glow.flags_red) addLightGlow(extrasCtx, flagLocs.red.x+20, flagLocs.red.y+20, options.glow.flags_red_radius, options.glow.flags_red_color, options.glow.flags_red_opacity/100);
if (options.shapes.circle) drawBaseShape(extrasCtx, 'circle', options.shapes.circle_blue_color, flagLocs.blue.x+20, flagLocs.blue.y+20);
if (options.shapes.cross) drawBaseShape(extrasCtx, 'radial', options.shapes.cross_blue_color, flagLocs.blue.x+20, flagLocs.blue.y+20);
if (options.shapes.octagon) drawBaseShape(extrasCtx, 'octagon', options.shapes.octagon_blue_color, flagLocs.blue.x+20, flagLocs.blue.y+20);
if (options.glow.flags_blue) addLightGlow(extrasCtx, flagLocs.blue.x+20, flagLocs.blue.y+20, options.glow.flags_blue_radius, options.glow.flags_blue_color, options.glow.flags_blue_opacity/100);
} else if (flagLocs.yellow.x) {
if (options.shapes.circle) drawBaseShape(extrasCtx, 'circle', options.shapes.circle_yellow_color, flagLocs.yellow.x+20, flagLocs.yellow.y+20);
if (options.shapes.cross) drawBaseShape(extrasCtx, 'radial', options.shapes.cross_yellow_color, flagLocs.yellow.x+20, flagLocs.yellow.y+20);
if (options.shapes.octagon) drawBaseShape(extrasCtx, 'octagon', options.shapes.octagon_yellow_color, flagLocs.yellow.x+20, flagLocs.yellow.y+20);
if (options.glow.flags_yellow) addLightGlow(extrasCtx, flagLocs.yellow.x+20, flagLocs.yellow.y+20, options.glow.flags_yellow_radius, options.glow.flags_yellow_color, options.glow.flags_yellow_opacity/100);
}
//add centreline...
if (options.shapes.centerline) {
let x1=0, y1=0, x2=0, y2=0;
if (flagLocs.halfway.x) {
x1 = flagLocs.halfway.x + 0;
x2 = flagLocs.halfway.x + 0;
y2 = mapHeight;
} else if (flagLocs.halfway.y) {
x2 = mapWidth;
y1 = flagLocs.halfway.y + 0;
y2 = flagLocs.halfway.y + 0;
}
drawLine(extrasCtx, x1, y1, x2, y2, hexToRgbA(options.shapes.centerline_color, options.shapes.centerline_opacity / 100), +options.shapes.centerline_width, +options.shapes.centerline_dashsize);
}
//add flag line...
if (options.shapes.flagline) {
if (flagLocs.yellow.x && flagLocs.yellow.y) {
//drawLine(extrasCtx, flagLocs.ezred.x + 20, flagLocs.ezred.y + 20, flagLocs.ezblue.x + 20, flagLocs.ezblue.y + 20, hexToRgbA(options.shapes.flagline_color, options.shapes.flagline_opacity / 100), +options.shapes.flagline_width, +options.shapes.flagline_dashsize);
} else {
drawLine(extrasCtx, flagLocs.red.x + 20, flagLocs.red.y + 20, flagLocs.blue.x + 20, flagLocs.blue.y + 20, hexToRgbA(options.shapes.flagline_color, options.shapes.flagline_opacity / 100), +options.shapes.flagline_width, +options.shapes.flagline_dashsize);
}
}
floorCtx.restore();
//Draw the "extras" layer...
if (options.floortiles.modify && options.floortiles.nofloor) floorCtx.globalCompositeOperation = 'source-in';
else if (options.ballglow.modify) floorCtx.globalCompositeOperation = 'destination-out';
else floorCtx.globalCompositeOperation = 'source-atop';
floorCtx.drawImage(extrasCanvas, 0, 0);
floorCtx.globalCompositeOperation = 'source-over';
//Draw the team tiles & endzones...
floorCtx.drawImage(teamTileCanvas, 0, 0);
//Draw the spikes...
floorCtx.drawImage(spikeCanvas, 0, 0);
//Draw the walls...
if (options.walls.modify) {
if (options.walls.opacity > 0) setTint(tempWallCanvas, options.walls.color, options.walls.opacity / 100);
let filters = '';
if (options.walls.brightness !== '100') filters += 'brightness(' + options.walls.brightness + '%) ';
if (options.walls.contrast !== '100') filters += 'contrast(' + options.walls.contrast + '%) ';
if (options.walls.sepia > 0) filters += 'sepia(' + options.walls.sepia + '%) ';
if (options.walls.shadow) filters += 'drop-shadow(' + options.walls.shadow_size+'px ' + options.walls.shadow_size+'px ' + options.walls.shadow_blur+'px ' + hexToRgbA(options.walls.shadow_color, options.walls.shadow_opacity/100) + ') ';
if (options.walls.invert > 0) filters += 'invert(' + options.walls.invert + '%) ';
if (filters) wallCtx.filter = filters;
}
if (options.walls.gradient) addGradient(tempWallCtx, mapWidth, mapHeight, options.walls.gradient_type, options.walls.gradient_color1, options.walls.gradient_color2, options.walls.gradient_opacity1, options.walls.gradient_opacity2, options.walls.gradient_repeats, true, 'source-atop');
if (options.walls.splotches) addSplotches(tempWallCtx, mapWidth, mapHeight, 'walls', 'source-atop');
if (options.walls.checkered) addCheckered(tempWallCtx, mapWidth, mapHeight, 'walls', 'source-atop');
if (options.walls.grids_diagonal) addDiagonalGrid(tempWallCtx, mapWidth, mapHeight, 'walls', 'source-atop');
if (options.walls.grids_square) addSquareGrid(tempWallCtx, mapWidth, mapHeight, 'walls', 'source-atop');
if (options.walls.specks) addRandoms(tempWallCtx, mapWidth, mapHeight, 'walls', 'source-atop');
if (options.walls.modify && options.walls.shadow && options.walls.shadow_include_gates) {
wallCtx.drawImage(gateCanvas, 0, 0);
let margin = +options.gates.original_margin;
let edgeLength = 40 - margin * 2;
for (let x=0; x<tagpro.map.length; x++) {
for (let y=0; y<tagpro.map[0].length; y++) {
let mapTileId = Math.floor(tagpro.map[x][y]);
if (mapTileId === 9) {
wallCtx.beginPath();
wallCtx.clearRect(x*40+margin, y*40+margin, edgeLength, edgeLength);
}
}
}
}
wallCtx.drawImage(tempWallCanvas, 0, 0);
floorCtx.drawImage(wallCanvas, 0, 0);
floorCtx.globalCompositeOperation = 'destination-in'; //remove any wall shadows outside the map
floorCtx.drawImage(fwCanvas, 0, 0);
//draw a background image on the walls if present and ready...
if (options.floortiles.image && options.floortiles.image_walls && floorBackgroundImage.height) {
let filters = '';
if (options.floortiles.image_walls_blur > 0) filters += 'blur('+options.floortiles.image_walls_blur+'px) ';
if (options.floortiles.image_walls_brightness !== '100') filters += 'brightness('+options.floortiles.image_walls_brightness+'%) ';
if (options.floortiles.image_walls_contrast > '100') filters += 'contrast('+options.floortiles.image_walls_contrast+'%) ';
if (options.floortiles.image_walls_saturation > '100') filters += 'saturate('+options.floortiles.image_walls_saturation+'%) ';
if (options.floortiles.image_walls_opacity < 100) filters += 'opacity('+options.floortiles.image_walls_opacity+'%) ';
if (options.floortiles.image_walls_grayscale > 0) filters += 'grayscale('+options.floortiles.image_walls_grayscale+'%) ';
if (options.floortiles.image_walls_sepia > 0) filters += 'sepia('+options.floortiles.image_walls_sepia+'%) ';
if (options.floortiles.image_walls_huerotate > 0) filters += 'hue-rotate('+options.floortiles.image_walls_huerotate+'deg) ';
if (filters) tempWallCtx.filter = filters;
let imageRatio = (floorBackgroundImage.width / floorBackgroundImage.height);
let widthRatio = (imageRatio < mapRatio ? imageRatio : mapRatio);
let heightRatio = (imageRatio < mapRatio ? mapRatio : imageRatio);
tempWallCtx.globalCompositeOperation = 'source-in';
tempWallCtx.drawImage(floorBackgroundImage, 0, 0, floorBackgroundImage.width, floorBackgroundImage.height, 0, 0, mapWidth*widthRatio, mapHeight*heightRatio);
floorCtx.drawImage(tempWallCanvas, 0, 0);
}
if (options.walls.separatelayer) {
let newTexture = PIXI.Texture.fromCanvas(tempWallCanvas);
tr.chunkifyWalls(newTexture);
newTexture.destroy(true);
newTexture = null;
}
//Cleanup...
backgroundTexture.destroy(true);
backgroundTexture = null;
canvasRenderer.destroy(true);
canvasRenderer = null;
extrasCanvas = null;
tempWallCanvas = null;
wallCanvas = null;
fwCanvas = null;
gateCanvas = null;
spikeCanvas = null;
teamTileCanvas = null;
tempFloorTileCanvas = null;
};
tr.chunkifyWalls = function (renderTexture) {
tr.wallgroundChunks = [];
let baseTexture = renderTexture.baseTexture;
let width = tagpro.map.length * 40;
let height = tagpro.map[0].length * 40;
let chunkSize = 1024;
if (tr.renderer.gl) {
let maxSize = tr.renderer.gl.getParameter(tr.renderer.gl.MAX_TEXTURE_SIZE);
if (chunkSize > maxSize) {
chunkSize = Math.pow(2, Math.round(Math.log(maxSize / 2) / Math.log(2)));
console.log("Chunk size was too large. Reducing to closest power of two below gl.MAX_TEXTURE_SIZE, which is " + chunkSize);
}
}
if (!tr.layers.wallground) {
tr.layers.wallground = new PIXI.Container();
}
let index = tr.gameContainer.children.indexOf(tr.layers.foreground);
tr.gameContainer.addChildAt(tr.layers.wallground, index);
for (let x = 0; x < width; x += chunkSize) {
for (let y = 0; y < height; y += chunkSize) {
let w = x + chunkSize > width ? width - x : chunkSize;
let h = y + chunkSize > height ? height - y : chunkSize;
let newCanvas = document.createElement('canvas');
newCanvas.width = newCanvas.height = chunkSize;
let ctx = newCanvas.getContext("2d");
ctx.drawImage(baseTexture.source, x, y, w, h, 0, 0, w, h);
let newTexture = PIXI.Texture.fromCanvas(newCanvas);
let sprite = new PIXI.Sprite(newTexture);
sprite.x = x;
sprite.y = y;
//tr.wallgroundChunks.push(sprite);
tr.layers.wallground.addChild(sprite);
newCanvas = null;
}
}
};
//Re-draw the background before it gets chunkified...
tr.createBackgroundTexture = function(container) {
let floorCanvas = document.createElement('canvas');
floorCanvas.width = tagpro.map.length * 40;
floorCanvas.height = tagpro.map[0].length * 40;
let floorCtx = floorCanvas.getContext('2d');
modifyBackgroundTexture(container, floorCtx);
//Chunkify the new background...
let newTexture = PIXI.Texture.fromCanvas(floorCanvas);
tr.chunkifyBackground(newTexture);
newTexture.destroy(true);
newTexture = null;
floorCanvas = null;
};
tr.drawBackgroundTiles = function (container) {
let drawPos = {x: 0, y: 0};
for (let x = 0, xl = tagpro.map.length; x !== xl; x++) {
for (let y = 0, yl = tagpro.map[0].length; y !== yl; y++) {
//tagpro.tiles.drawLayers(container, x, y, drawPos, tr.layers.midground); //skip these tiles - we're redrawing them elsewhere
if (tagpro.map[x][y] === 22) {
drawPos.x = x * 40;
drawPos.y = y * 40;
tr.createGravityWellEmitter(drawPos.x + (20), drawPos.y + (20));
tagpro.world.createGravityWell(x * 0.4, y * 0.4);
}
}
}
tr.afterDrawBackground();
};
tr.drawDynamicTile = function(x, y, tileId) {
tileId = tileId || tagpro.map[x][y];
let tile = tagpro.tiles[tileId];
if (!tile || tileId <= 2) {
return;
}
if (tileId == 7 || tileId == 8 || tileId == 17 || tileId == 18 || tileId == 22) return; //skip these tiles: spikes/buttons/endzone/gravitywell (we've already drawn them on the background)
let drawPos = {x: x * 40, y: y * 40};
let sprite;
if (tile instanceof PIXI.extras.AnimatedSprite || tile.frameTiles) { //boosts/portals
sprite = tr.drawAnimation(tile, drawPos);
} else if (tile.dynamic) { //bombs/gates/flags/pups
if ((tileId == 9 && options.gates.neutral) || (tileId == 9.1 && options.gates.green) || (tileId == 9.2 && options.gates.red) || (tileId == 9.3 && options.gates.blue)) {
if (!PIXI.utils.TextureCache[tileId]) {
drawCustomTile(tileId, tagpro.tiles.image);
PIXI.utils.TextureCache[tileId] = PIXI.Texture.fromCanvas(tileCache[tileId]);
}
} else if (tileId == 10 && options.bombs.modify) {
if (!PIXI.utils.TextureCache[tileId]) {
drawCustomTile(tileId, tagpro.tiles.image);
PIXI.utils.TextureCache[tileId] = PIXI.Texture.fromCanvas(tileCache[tileId]);
}
} else if ((tileId == 6.1 || tileId == 6.2 || tileId == 6.3 || tileId == 6.4) && options.pups.shadow) {
if (!PIXI.utils.TextureCache[tileId]) {
drawCustomTile(tileId, tagpro.tiles.image);
PIXI.utils.TextureCache[tileId] = PIXI.Texture.fromCanvas(tileCache[tileId]);
}
}
sprite = tagpro.tiles.draw(tr.layers.midground, tileId, drawPos);
if ((tileId == 9 || tileId == 9.1 || tileId == 9.2 || tileId == 9.3) && options.gates.original_margin > 0) {
let margin = +options.gates.original_margin;
let margin2 = margin * 2;
sprite.x += margin;
sprite.y += margin;
sprite.width -= margin2;
sprite.height -= margin2;
}
} else {
return;
}
if (!tr.dynamicSprites[x]) {
tr.dynamicSprites[x] = {};
}
tr.dynamicSprites[x][y] = sprite;
};
//Set the wallpaper...
var setGameWallpaper = function() {
var backgroundType = options.gamewallpaper.type;
if (backgroundType === 'image') {
if (options.gamewallpaper.imagedata) {
$('html').css('background', '#000 url("' + options.gamewallpaper.imagedata + '") center / ' + (options.gamewallpaper.stretch ? 'cover' : 'contain') + ' no-repeat fixed');
}
} else if (backgroundType === 'color') {
//$('body.game-page').css('background', options.gamewallpaper.color || '#000000');
let backgroundCSS = getBackgroundCSSValue(backgroundType, options.gamewallpaper.color);
$('html').css(backgroundCSS);
} else if (backgroundType === 'gradient') {
let gradientType = options.gamewallpaper.gradient_type;
let c1 = options.gamewallpaper.color1;
let c2 = options.gamewallpaper.color2;
let size = 90;
if (gradientType === 'team') {
if (flagLocs.yellow.x && flagLocs.yellow.y) {
size = Math.atan2(flagLocs.ezblue.y - flagLocs.ezred.y, flagLocs.ezblue.x - flagLocs.ezred.x) * 180 / Math.PI + 90;
} else {
size = Math.atan2(flagLocs.blue.y - flagLocs.red.y, flagLocs.blue.x - flagLocs.red.x) * 180 / Math.PI + 90;
}
}
let backgroundCSS = getBackgroundCSSValue(backgroundType, c1, c2, gradientType, size);
$('html').css(backgroundCSS);
}
};
tagpro.socket.on('map', function(data) {
for (let x=0; x<tagpro.map.length; x++) {
for (let y=0; y<tagpro.map[x].length; y++) {
let tileId = tagpro.map[x][y];
if ((tileId == 3) || (tileId == 3.1)) { //red flag
flagLocs.red.x = x*40;
flagLocs.red.y = y*40;
} else if ((tileId == 4) || (tileId == 4.1)) { //blue flag
flagLocs.blue.x = x*40;
flagLocs.blue.y = y*40;
} else if ((tileId == 16) || (tileId == 16.1)) { //yellow flag
flagLocs.yellow.x = x*40;
flagLocs.yellow.y = y*40;
} else if (tileId == 11) { //red teamtile
flagLocs.teamred.push({ x:x*40, y:y*40 });
} else if (tileId == 12) { //blue teamtile
flagLocs.teamblue.push({ x:x*40, y:y*40 });
} else if (tileId == 23) { //yellow teamtile
flagLocs.teamyellow.push({ x:x*40, y:y*40 });
} else if (tileId == 17) { //red endzone
flagLocs.ezred.locs.push({ x:x*40, y:y*40 });
if (!flagLocs.ezred.x) { //use the first found redzone tile for both
flagLocs.ezred.x = x*40+20;
flagLocs.ezred.y = y*40+20;
flagLocs.ezblue.x = Math.abs(tagpro.map.length*40 - flagLocs.ezred.x);
flagLocs.ezblue.y = Math.abs(tagpro.map[0].length*40 - flagLocs.ezred.y);
}
} else if (tileId == 18) { //blue endzone
flagLocs.ezblue.locs.push({ x:x*40, y:y*40 });
} else if (tileId == 10 || tileId == 10.1) { //bomb
flagLocs.bombs.push({ x:x*40, y:y*40 });
} else if (tileId == 7) { //spike
flagLocs.spikes.push({ x:x*40, y:y*40 });
} else if (tileId == 6 || tileId == 6.1 || tileId == 6.2 || tileId == 6.3 || tileId == 6.4) { //powerups
flagLocs.pups.push({ x:x*40, y:y*40 });
} else if (tileId == 5 || tileId == 5.1) { //neutral boost
flagLocs.boosts.neutral.push({ x:x*40, y:y*40 });
} else if (tileId == 14 || tileId == 14.1) { //red boost
flagLocs.boosts.red.push({ x:x*40, y:y*40 });
} else if (tileId == 15 || tileId == 15.1) { //blue boost
flagLocs.boosts.blue.push({ x:x*40, y:y*40 });
} else if (tileId == 22) { //gravityWell
flagLocs.gravityWells.push({ x:x*40, y:y*40 });
}
}
}
if (flagLocs.yellow.x && flagLocs.yellow.y) {
if (tagpro.map.length > tagpro.map[0].length) {
flagLocs.halfway.x = (tagpro.map.length / 2) * 40;
} else if (tagpro.map.length < tagpro.map[0].length) {
flagLocs.halfway.y = (tagpro.map[0].length / 2) * 40;
} else {
flagLocs.halfway.x = (tagpro.map.length / 2) * 40; //just use x axis
}
} else if ( Math.abs(flagLocs.red.x - flagLocs.blue.x) > Math.abs(flagLocs.red.y - flagLocs.blue.y) ) { //flags are further apart on the x axis
flagLocs.halfway.x = (tagpro.map.length / 2) * 40; //Math.floor(tagpro.map.length / 2) * 40;
} else if ( Math.abs(flagLocs.red.x - flagLocs.blue.x) < Math.abs(flagLocs.red.y - flagLocs.blue.y) ) { //flags are further apart on the y axis
flagLocs.halfway.y = (tagpro.map[0].length / 2) * 40;
} else { //flags are the same distance apart - try using map dimensions...
if (tagpro.map.length > tagpro.map[0].length) { //map width > height
flagLocs.halfway.x =(tagpro.map.length / 2) * 40;
} else if (tagpro.map.length < tagpro.map[0].length) { //map height > width
flagLocs.halfway.y = (tagpro.map[0].length / 2) * 40;
} else { //map width & height are the same
flagLocs.halfway.x = (tagpro.map.length / 2) * 40; //just use x axis
}
}
if (flagLocs.red.x && flagLocs.blue.x) {
let tempY = flagLocs.red.y;
if (flagLocs.red.y > tagpro.map[0].length * 40 - flagLocs.red.y) tempY = tagpro.map[0].length * 40 - flagLocs.red.y;
}
if (options.gamewallpaper.type !== 'none') setGameWallpaper();
});
//Game Background Transparency...
if (options.gameoptions.transparent_background) {
tr.createRenderer = function() {
let options = {
view: tr.canvas,
antialias: true, //PIXI:false (TagPro:true)
forceFXAA: true, //PIXI:false (forceFXAA is faster, WebGL only)
forceCanvas: tr.options.forceCanvasRenderer, //PIXI:false
transparent: true, //PIXI:false
backgroundColor: 0, //PIXI:0x000000
clearBeforeRender: true, //PIXI:true
preserveDrawingBuffer: false, //PIXI:false
roundPixels: false, //PIXI:false
width: 1280, //PIXI:800
height: 800, //PIXI:600
legacy: false //PIXI:false
};
return tr.options.forceCanvasRenderer ? new PIXI.CanvasRenderer(tr.canvas_width, tr.canvas_height, options) : PIXI.autoDetectRenderer(tr.canvas_width, tr.canvas_height, options);
};
let oldCanvas = $(tr.canvas);
let newCanvas = $('<canvas id="viewport" width="1280" height="800"></canvas>');
oldCanvas.after(newCanvas);
oldCanvas.remove();
tr.canvas = newCanvas.get(0);
//tr.options.transparent = true;
tr.renderer = tr.createRenderer();
tr.resizeAndCenterView();
newCanvas.fadeIn(1200);
}
var dP = tr.drawPlayer;
var cBS = tr.createBallSprite;
var uPC = tr.updatePlayerColor;
var uPSP = tr.updatePlayerSpritePosition;
var uPF = tr.updatePlayerFlag;
//Ball Glow...
if (options.ballglow.modify) {
var addGlow = function(player) {
let glowColor = player.team === 1 ? options.ballglow.red_color : options.ballglow.blue_color;
let glowOpacity = player.team === 1 ? options.ballglow.red_opacity / 100 : options.ballglow.blue_opacity / 100;
let glowRadius = options.ballglow.radius;
let glowRadius2 = glowRadius * 2;
let glowCanvas = document.createElement('canvas');
glowCanvas.width = glowRadius2;
glowCanvas.height = glowRadius2;
let glowCtx = glowCanvas.getContext('2d');
glowCtx.clearRect(0,0, glowRadius2, glowRadius2);
addLightGlow(glowCtx, glowRadius, glowRadius, glowRadius, glowColor, glowOpacity, 'source-over');
player.sprites.bottomGlow = new PIXI.Sprite(PIXI.Texture.fromCanvas(glowCanvas));
player.sprites.bottomGlow.anchor = new PIXI.Point(0.5, 0.5);
if (options.ballglow.below) {
tr.layers.background.addChildAt(player.sprites.bottomGlow, 0);
} else {
//tr.layers.foreground.addChildAt(player.sprites.bottomGlow, 0);
player.sprites.bottomGlow.x = 20;
player.sprites.bottomGlow.y = 20;
player.sprites.ball.addChildAt(player.sprites.bottomGlow, 0);
}
};
tr.drawPlayer = function(player) {
if (player.draw && player.sprites && !player.sprites.bottomGlow) addGlow(player);
if (player.dead) player.sprites.bottomGlow.visible = false;
else player.sprites.bottomGlow.visible = true;
return dP.apply(this, arguments);
};
}
//Modify Spawn Shadow...
if (options.altSpawnShadow.modify) {
tr.drawSpawn = function(x, y, team, timeout) {
if (!tr.layers.foreground) {
setTimeout(tr.drawSpawn, 0, x, y, team, timeout);
return;
}
var tile = team === 1 ? "redspawnball" : "bluespawnball";
//create the new texture once and add it to the cache...
if (!tagpro.tiles[tile] || !PIXI.utils.TextureCache[tile]) {
let image = 'http://i.imgur.com/IBKyhvs.png'; //'http://i.imgur.com/2wzt7Xp.png';
if (!tagpro.tiles[tile]) tagpro.tiles[tile] = tile;
if (!PIXI.utils.TextureCache[tile]) PIXI.utils.TextureCache[tile] = PIXI.Texture.fromImage(image);
}
let sprite = tagpro.tiles.draw(tr.layers.foreground, tile, {x: x, y: y}, null, null, 0.35, true);
setTimeout(function() {
if (sprite) sprite.parent.removeChild(sprite);
}, timeout);
};
}
//Faded Splats...
if (options.gameoptions.fading_splats) {
tr.drawSplat = function(x, y, team, showDeath, fadeAway) {
let startColor, stopColor;
if (team === 1) {
startColor = "ff0000";
} else {
startColor = "0000ff";
}
stopColor = "ffffff";
if (showDeath) {
if (tr.options.disableParticles) {
tr.drawBallPop(x + 19, y + 19, team);
} else {
tr.startDeathEmitter(startColor, stopColor, x + 19, y + 19);
}
}
fadeAway = true;
tr.addSplat(team, x, y, fadeAway);
};
}
var modifyBall = function(player) {
let prefix = 'TPE_';
let tileId = (player.team === 1 ? 'redball' : 'blueball');
if (player.team === 1 && options.redball.modify) {
//??
} else if (player.team === 2 && options.blueball.modify) {
//??
} else {
if (!PIXI.utils.TextureCache[tileId]) {
player.sprites.actualBall = tagpro.tiles.draw(player.sprites.ball, tileId, {x: 0, y: 0});
} else {
player.sprites.actualBall.texture = PIXI.utils.TextureCache[tileId];
}
player.sprites.actualBall.tileId = tileId;
return;
}
let canvas = document.createElement("canvas");
canvas.width = 40;
canvas.height = 40;
let ctx = canvas.getContext("2d");
if (options.gameoptions.filters_brightness) {
if (tagpro.playerId === player.id) {
prefix += 'ME_';
} else {
let filters = '';
filters += 'brightness('+options.gameoptions.filters_brightness_value+'%) ';
ctx.filter = filters;
}
}
drawBall(ctx, tileId);
if (options[tileId].shapes_overlay) drawOverlay(ctx, tileId);
if (options[tileId].border_width > 0) drawBorder(ctx, tileId);
if (options[tileId].shapes_arc) drawArc(ctx, tileId);
if (options[tileId].shapes_star) drawStar(ctx, tileId);
ctx.drawImage(canvas, 0, 0);
let texture = PIXI.Texture.fromCanvas(canvas);
player.sprites.actualBall.texture = texture;
player.sprites.actualBall.tileId = tileId;
//tagpro.tiles[tileId] = texture; //need this???
//tagpro.tiles[prefix+tileId] = texture;
PIXI.utils.TextureCache[tileId] = texture; //this is for other scripts that might use this tile (like "Ball Indicators")
if (!PIXI.utils.TextureCache[prefix+tileId]) PIXI.utils.TextureCache[prefix+tileId] = texture;
canvas = null;
};
//Ball Transparency...
tr.createBallSprite = function(player) {
cBS.apply(this, arguments);
if ( (options.redball.modify && player.team === 1) || (options.blueball.modify && player.team === 2) ) {
let prefix = 'TPE_';
let tileId = (player.team === 1 ? 'redball' : 'blueball');
if (options.gameoptions.filters_brightness && tagpro.playerId === player.id) {
prefix += 'ME_';
}
if (!PIXI.utils.TextureCache[prefix + tileId]) {
modifyBall(player);
} else {
player.sprites.actualBall.texture = PIXI.utils.TextureCache[prefix + tileId];
}
}
player.sprites.actualBall.alpha = ((100 - options.gameoptions.ball_transparency) / 100);
player.sprites.actualBall.anchor.x = 0.5;
player.sprites.actualBall.anchor.y = 0.5;
player.sprites.actualBall.x = 20;
player.sprites.actualBall.y = 20;
};
if (options.ballglow.modify || options.redball.modify || options.blueball.modify) {
tr.updatePlayerColor = function(player) {
let tileId = (player.team === 1 ? 'redball' : 'blueball');
if (player.sprites.actualBall.tileId !== tileId) {
if (options.ballglow.modify) {
tr.layers.background.removeChild(player.sprites.bottomGlow);
addGlow(player);
}
if ( (options.redball.modify && player.team === 1) || (options.blueball.modify && player.team === 2) ) {
let prefix = 'TPE_';
if (options.gameoptions.filters_brightness && tagpro.playerId === player.id) {
prefix += 'ME_';
}
if (!PIXI.utils.TextureCache[prefix + tileId]) {
modifyBall(player);
} else {
player.sprites.actualBall.texture = PIXI.utils.TextureCache[prefix + tileId];
}
} else {
let baseTexture = tagpro.tiles.getTexture(tileId);
let texture = new PIXI.Texture(baseTexture);
player.sprites.actualBall.texture = texture;
}
player.sprites.actualBall.tileId = tileId;
}
};
}
//Ball Glow...
if (options.ballglow.modify) {
tr.updatePlayerSpritePosition = function(player) {
if (!player.sprites.bottomGlow) addGlow(player);
if (options.ballglow.below) player.sprites.bottomGlow.position = { x:player.x+20, y:player.y+20 }; //Math.round(player.x)+20
return uPSP.apply(this, arguments);
};
}
//modify tagpro effect (color, width, radius)...
if (options.modify_TP.modify) {
let radius = options.modify_TP.line_radius;
let lineWidth = options.modify_TP.line_width;
let lineColor = '0x' + options.modify_TP.line_color.substr(1);
let lineOpacity = options.modify_TP.line_opacity / 100;
let fillColor = '0x' + options.modify_TP.fill_color.substr(1) ;
let fillOpacity = options.modify_TP.fill_opacity / 100;
let center = 20;
if (lineWidth % 2 !== 0) center = 19.5;
tr.updateTagpro = function(player) {
if (player.tagpro) {
if (!player.sprites.tagproTint) {
let tint = player.sprites.tagproTint = new PIXI.Graphics();
tint.beginFill(fillColor, fillOpacity).lineStyle(lineWidth, lineColor, lineOpacity).drawCircle(center, center, radius);
player.sprites.ball.addChild(tint);
if (!tr.options.disableParticles) {
player.sprites.tagproSparks = new PIXI.particles.Emitter(
player.sprites.ball,
[tr.particleFireTexture],
tagpro.particleDefinitions.tagproSparks);
player.sprites.tagproSparks.player = player.id;
tr.emitters.push(player.sprites.tagproSparks);
}
}
} else {
if (player.sprites.tagproTint) {
player.sprites.ball.removeChild(player.sprites.tagproTint);
player.sprites.tagproTint = null;
}
if (player.sprites.tagproSparks) {
player.sprites.tagproSparks.emit = false;
let sparksIndex = tr.emitters.indexOf(player.sprites.tagproSparks);
tr.emitters.splice(sparksIndex, 1);
player.sprites.tagproSparks.destroy();
player.sprites.tagproSparks = null;
}
}
};
}
//modify juke juice effect (makes the jj icon a small circle)...
if (options.modify_JJ.modify) {
let lineColor = '0x' + options.modify_JJ.line_color.substr(1);
let lineWidth = 2;
let fillColor = '0x' + options.modify_JJ.fill_color.substr(1);
let radius = options.modify_JJ.radius;
let x = options.modify_JJ.x;
let y = options.modify_JJ.y;
tr.updateGrip = function (player, context, drawPos) {
if (player.grip) {
if (!player.sprites.grip) {
player.sprites.grip = new PIXI.Graphics();
player.sprites.grip.beginFill(fillColor, 1).lineStyle(lineWidth, lineColor).drawCircle(+x, +y, +radius); //3, 37
player.sprites.ball.addChild(player.sprites.grip);
}
} else {
if (player.sprites.grip) {
player.sprites.ball.removeChild(player.sprites.grip);
player.sprites.grip = null;
}
}
};
}
//modify rolling bomb effect...
if (options.modify_RB.modify) {
let radius = options.modify_RB.line_radius;
let lineWidth = options.modify_RB.line_width;
let lineColor = '0x' + options.modify_RB.line_color.substr(1);
let lineOpacity = options.modify_RB.line_opacity / 100;
let fillColor = '0x' + options.modify_RB.fill_color.substr(1) ;
let fillOpacity = options.modify_RB.fill_opacity / 100;
let speed = options.modify_RB.speed;
let maxOpacity = (options.modify_RB.fill_opacity / 100) || (options.modify_RB.line_opacity / 100) || 0.75;
let center = 20;
//if (lineWidth % 2 !== 0) center = 19.5;
tr.updateRollingBomb = function(player) {
if (player.bomb) {
if (!player.sprites.bomb) {
if (!tr.options.disableParticles) {
player.sprites.rollingBomb = new PIXI.particles.Emitter(
player.sprites.ball,
[tr.particleTexture],
tagpro.particleDefinitions.rollingBomb);
tr.emitters.push(player.sprites.rollingBomb);
}
player.sprites.bomb = new PIXI.Graphics();
player.sprites.bomb.beginFill(fillColor, fillOpacity).lineStyle(lineWidth, lineColor, lineOpacity).drawCircle(center, center, radius);
player.sprites.ball.addChild(player.sprites.bomb);
} else {
player.sprites.bomb.alpha = Math.abs(maxOpacity * Math.sin(performance.now() / speed));
}
} else {
if (player.sprites.bomb) {
player.sprites.ball.removeChild(player.sprites.bomb);
player.sprites.bomb = null;
}
if (player.sprites.rollingBomb) {
if (player.sprites.rollingBomb instanceof PIXI.particles.Emitter) {
player.sprites.rollingBomb.emit = false;
tr.emitters.splice(tr.emitters.indexOf(player.sprites.rollingBomb), 1);
player.sprites.rollingBomb.destroy();
} else {
player.sprites.rollingBomb.visible = false;
}
player.sprites.rollingBomb = null;
}
}
};
}
//shows the current scoreboard position for each player on their ball (by Rattpack - it's really cool, try it!)...
if (options.sbpl.modify) {
tr.drawScoreboardPosition = function(playerId, position) {
if (!playerId || !tagpro.players.hasOwnProperty(playerId)) return;
let player = tagpro.players[playerId];
if (player.hasOwnProperty('sprites') && player.sprites.hasOwnProperty('SBL')) player.sprites.info.removeChild(player.sprites.SBL);
player.sprites.SBL = tr.veryPrettyText(position, options.sbpl.color);
player.sprites.info.addChild(player.sprites.SBL);
player.sprites.SBL.alpha = options.sbpl.opacity / 100;
player.sprites.SBL.x = +options.sbpl.x+1;
player.sprites.SBL.y = +options.sbpl.y+8;
};
var getAllPlayers = function() {
let players = [];
for (let playerId in tagpro.players) {
if (tagpro.players.hasOwnProperty(playerId)) {
players.push( { id:playerId, score:tagpro.players[playerId].score } );
}
}
players.sort(function(a, b) {
return (b.score - a.score ? b.score - a.score : a.id - b.id);
});
$.each(players, function(key, value) {
try {
tr.drawScoreboardPosition(value.id, key+1);
} catch(e) {
//alert('err');
console.log('ERROR: ',GM_info.script.name, e);
}
});
};
setInterval(function() {
getAllPlayers();
}, 5000);
}
} else { //not in a game...
var previewCanvas = document.createElement('canvas');
/*-------------------------------------------------------------------------------*/
// Functions...
/*-------------------------------------------------------------------------------*/
var updateBGPreview = function() {
var backgroundType = $('#TPE_WP').val();
if (backgroundType === 'none') {
let backgroundCSS = getBackgroundCSSValue(backgroundType);
$('#TPE_DropZone').css(backgroundCSS);
$('.TPE_WPG_Color').hide(0);
$('.TPE_WPG_Gradient').hide(0);
$('.TPE_WPG_Image').hide(0);
} else if (backgroundType === 'color') {
let backgroundCSS = getBackgroundCSSValue(backgroundType, $('#TPE_WPG_Color').val());
$('#TPE_DropZone').css(backgroundCSS);
$('#TPE_WP').val('color');
$('.TPE_WPG_Color').show(0);
$('.TPE_WPG_Gradient').hide(0);
$('.TPE_WPG_Image').hide(0);
} else if (backgroundType === 'gradient') {
var gradientType = $('#TPE_GradientTypes').val();
var c1 = $('#TPE_GameWallPaper_Color1').val();
var c2 = $('#TPE_GameWallPaper_Color2').val();
let size = gradientType === 'team' ? '135' : '0';
let backgroundCSS = getBackgroundCSSValue(backgroundType, c1, c2, gradientType, size);
$('#TPE_DropZone').css(backgroundCSS);
$('.TPE_WPG_Color').hide(0);
$('.TPE_WPG_Gradient').show(0);
$('.TPE_WPG_Image').hide(0);
} else if (backgroundType === 'image') {
if (options.gamewallpaper.imagedata) {
$('#TPE_DropZone').css({ 'background': '#000 url("'+options.gamewallpaper.imagedata+'") center / '+(options.gamewallpaper.stretch ? 'cover' : 'contain')+' no-repeat' });
} else {
//$('#TPE_DropZone').css({ 'background': 'none' });
$('#TPE_DropZone').css({ 'background': '#000 url("/images/background.jpg") center center / cover no-repeat' });
}
$('#TPE_WP').val('image');
$('#TPE_WPG_Image_Size').text((options.gamewallpaper.imagedata.length/1024/1024).toFixed(2)+'MB');
$('.TPE_WPG_Color').hide(0);
$('.TPE_WPG_Gradient').hide(0);
$('.TPE_WPG_Image').show(0);
}
};
var updateFloorImagePreview = function() {
if (options.floortiles.image && options.floortiles.imagedata) {
$('#TPE_FloorImage_DropZone').css({ 'background': '#000 url("'+options.floortiles.imagedata+'") center / cover no-repeat' });
$('#TPE_FloorImage_Size').text((options.floortiles.imagedata.length/1024/1024).toFixed(2)+'MB');
} else {
$('#TPE_FloorImage_DropZone').css({ 'background': 'none' });
$('#TPE_FloorImage_Size').text('0.00MB');
}
};
var resizeImage = function(img, callback) {
let ratio = Math.min(window.screen.width / img.width, window.screen.height / img.height);
let tempCanvas = document.createElement('canvas');
tempCanvas.width = img.width * ratio;
tempCanvas.height = img.height * ratio;
let tempCtx = tempCanvas.getContext("2d");
tempCtx.drawImage(img, 0, 0, tempCanvas.width, tempCanvas.height);
let newImgData = tempCanvas.toDataURL('image/jpeg', 0.5);
callback(newImgData);
tempCanvas = null;
};
var saveDrop = function(what, imageData) {
options[what].imagedata = imageData;
GM_setValue('options', options);
setTimeout(function() {
if (what === 'gamewallpaper') updateBGPreview();
else if (what === 'floortiles') updateFloorImagePreview();
}, 200);
};
var convertImgToDataURLviaCanvas = function(url, what) {
let img = new Image();
img.onload = function() {
var canvas = document.createElement('canvas');
canvas.width = this.width;
canvas.height = this.height;
var ctx = canvas.getContext('2d');
ctx.drawImage(this, 0, 0);
var dataURL = canvas.toDataURL('image/jpeg', 0.85);
if (dataURL.length > 500000 || this.width > window.screen.width || this.height > window.screen.height) {
let response = confirm('This image is quite large - do you want to try and auto-resize it now?');
if (response) {
resizeImage(this, function(newImgData) {
saveDrop(what, newImgData);
});
} else {
saveDrop(what, dataURL);
}
} else {
saveDrop(what, dataURL);
}
canvas = null;
};
img.onerror = function(e) {
//console.log(e);
alert('An error has occured - this site may not allow images to be dragged.\n\nTry saving the image to your computer, then drag it across.\n\nOr drag images from a CORS enabled site (like Imgur).');
};
img.crossOrigin = 'Anonymous';
img.src = url;
};
var handleDrop = function(e, what) {
let data = e.originalEvent.dataTransfer;
if (data.files[0]) { // Handle as a file...
let reader = new FileReader();
let filename = data.files[0].name;
let filesize = data.files[0].size / 1024 / 1024;
reader.onload = function(file) {
if (what === 'gamewallpaper' || what === 'floortiles') {
var img = new Image();
img.onload = function() {
if (filesize > 1 || img.width > window.screen.width || img.height > window.screen.height) { //1.91
let response = confirm(filename + ' is quite large - do you want to try and auto-resize it now?');
if (response) {
resizeImage(img, function(newImgData) {
saveDrop(what, newImgData);
});
} else {
saveDrop(what, file.target.result);
}
} else {
saveDrop(what, file.target.result);
}
};
img.src = file.target.result;
}
};
reader.readAsDataURL(data.files[0]);
} else { // Handle as a URL...
data.items[0].getAsString(function(url) {
if (!url.startsWith('http')) url = 'http://' + url;
if (what === 'gamewallpaper' || what === 'floortiles') {
convertImgToDataURLviaCanvas(url, what);
}
});
}
};
/*-------------------------------------------------------------------------------*/
var saveValue = function(value, save=true) {
let saveto = $(value).data('saveto');
let val;
if (!saveto) return;
if (value.type === 'checkbox') {
val = value.checked;
} else if (value.type === 'radio') {
if (value.checked && value.dataset.type) {
val = value.dataset.type;
} else {
return true;
}
} else {
val = value.value;
}
if (saveto.includes('.')) {
var index = saveto.split('.');
options[index[0]][index[1]] = val;
} else {
options[saveto] = val;
}
if (save) GM_setValue('options', options);
};
var saveValues = function() {
$('#TPE_Container, #TPE_Container_Balls').find('input, select').each(function() {
saveValue(this, false);
});
GM_setValue('options', options);
};
var checkOptions = function() {
let parent = '';
const loopNestedObj = (obj) => {
Object.keys(obj).forEach(key => {
if (key !== 'textures') {
if (obj[key] && typeof obj[key] === 'object') {
parent = key;
loopNestedObj(obj[key]);
parent = '';
} else {
let hasDot = key.includes('.');
let hasLength = $('#TPE_Container, #TPE_Container_Balls').find('input[data-saveto="'+key+'"], select[data-saveto="'+key+'"]').length;
if (!hasDot) {
if (!parent) {
if (!hasLength) {
delete options[key];
}
} else {
hasLength = $('#TPE_Container, #TPE_Container_Balls').find('input[data-saveto="'+parent+'.'+key+'"], select[data-saveto="'+parent+'.'+key+'"]').length;
if (!hasLength) {
delete options[parent][key];
if (!Object.keys(options[parent]).length) {
delete options[parent];
}
}
}
} else {
delete options[key];
}
}
}
});
};
loopNestedObj(options);
};
/*-------------------------------------------------------------------------------*/
var getCurrentPack = function() {
let currentPack = {};
$.each($('#custom').find('input[type="text"]'), function() {
currentPack[this.id] = this.value;
});
return currentPack;
};
/*-------------------------------------------------------------------------------*/
var createNewPackIcon = function(name) {
let myPacks = GM_getValue('myPacks', {});
let tilesImg = new Image();
tilesImg.onload = function() {
let thumbnail = createPreview(tilesImg, true); //.toDataURL('image/png');
$('#TPE_MySavedPacks').append('<div class="TPE_MySavedPack" data-name="'+name+'" title="Load this saved custom textures pack"><div class="TPE_DeleteSavedPack" title="Delete this saved custom textures pack">x</div><div class="TPE_MySavedPackLabel">'+name+'</div></div>');
$('#TPE_MySavedPacks').find('div.TPE_MySavedPack[data-name="'+name+'"]').prepend(thumbnail);
};
tilesImg.crossOrigin = "Anonymous";
tilesImg.src = myPacks[name].tiles;
};
/*-------------------------------------------------------------------------------*/
var createNewOptionsIcon = function(name) {
let myOptions = GM_getValue('myOptions', {});
let title = 'Load this saved custom options set';
let displayName = name;
if (myOptions.hasOwnProperty(name)) {
if (myOptions[name].hasOwnProperty('textures')) {
title += ' (includes texture links)';
displayName = '<span style="color:mediumorchid">*</span>' + name;
}
}
$('#TPE_MySavedOptions').append('<div class="TPE_MySavedOptions" data-name="'+name+'" title="'+title+'">'+displayName+'<div class="TPE_DeleteSavedOptions" title="Delete this saved custom options set">x</div></div>');
};
/*-------------------------------------------------------------------------------*/
var loadOptionsValues = function(createIcons=false) {
$('#TPE_Container, #TPE_Container_Balls').find('input, select').each(function(key, value) {
let saveto = value.dataset.saveto;
let group = value.dataset.group;
let rgroup = value.dataset.rgroup;
let index;
let val;
if (!saveto) return;
index = saveto.split('.');
if (index[1]) {
if (options.hasOwnProperty(index[0])) {
if (options[index[0]].hasOwnProperty(index[1])) {
val = options[index[0]][index[1]];
} else {
if (this.type === 'checkbox') options[index[0]][index[1]] = false;
else if (this.type === 'color') options[index[0]][index[1]] = '#000000';
val = options[index[0]];
}
} else {
options[index[0]] = {};
if (this.type === 'checkbox') options[index[0]][index[1]] = false;
else if (this.type === 'color') options[index[0]][index[1]] = '#000000';
val = options[index[0]][index[1]];
}
} else if (index[0]) {
if (options.hasOwnProperty(index[0])) {
val = options[index[0]];
} else {
if (this.type === 'checkbox') options[index[0]] = false;
else if (this.type === 'color') options[index[0]] = '#000000';
val = options[index[0]];
}
} else {
return true;
}
if (this.type === 'checkbox') {
$(this).prop('checked', val);
} else if (this.type === 'radio') {
if (val === this.dataset.type) {
$(this).prop('checked', true);
if (val === 'custom') {
$('input[data-saveto="'+index[0]+'.shapes_overlay_base64"]').show();
} else {
$('input[data-saveto="'+index[0]+'.shapes_overlay_base64"]').hide();
}
}
} else {
$(this).val(val);
}
if (group) {
if ( $(this).is(':checked') || ($(this).val() > 0) ) $('#TPE_Container, #TPE_Container_Balls').find('.'+group).fadeIn();
else $('#TPE_Container, #TPE_Container_Balls').find('.'+group).fadeOut();
}
if (rgroup) {
if ( $(this).is(':checked') || ($(this).val() > 0) ) $('#TPE_Container, #TPE_Container_Balls').find('.'+rgroup).fadeOut();
else $('#TPE_Container, #TPE_Container_Balls').find('.'+rgroup).fadeIn();
}
});
$('#TPE_TransparentBallValue').text(options.gameoptions.ball_transparency);
if (!createIcons && options.hasOwnProperty('textures')) {
$.each(options.textures, function(key, value) {
if (value) $('#'+key).val(value);
});
$('#custom-textures-btn').trigger('click');
}
//if (!options.ballglow.modify) $('.TPE_Group_BallGlow').hide();
//else $('.TPE_Group_BallGlow').show();
if (createIcons) {
let myOptions = GM_getValue('myOptions', {});
$.each(myOptions, function(key, value) {
createNewOptionsIcon(key);
});
}
};
/*-------------------------------------------------------------------------------*/
var loadCustomValues = function() {
let texturePacks = JSON.parse($('#texture-pack-data').text());
let extraPacks = {};
let myPacks = GM_getValue('myPacks', {});
//default packs...
texturePacks.sort(function(a, b) {
if (a.name.toLowerCase() < b.name.toLowerCase()) return -1;
if (a.name.toLowerCase() > b.name.toLowerCase()) return 1;
return 0;
});
for (let i=0; i<texturePacks.length; i++) {
if (texturePacks[i].name === 'Classic') { //put this one at the start :)
texturePacks.splice(0, 0, texturePacks.splice(i, 1)[0]);
}
}
//some extra packs...
//(MCG Tiles: https://i.imgur.com/CKq3oqn.png. MCG Boosts & Portal: https://imgur.com/a/ZuYIm)
var message = '(Note: this texture is not part of the official TagPro texture packs collection)';
extraPacks['88 Electric'] = { author:'Rob Flagetti\n'+message, tiles:'https://i.imgur.com/PzZ5u57.png', speedpad:'http://i.imgur.com/5i2b07D.png', speedpadRed:'http://i.imgur.com/WwQ70DK.png', speedpadBlue:'http://i.imgur.com/fIeILub.png', portal:'http://i.imgur.com/RFQgPXz.png', splats:'http://i.imgur.com/2kLd2Rn.png' };
extraPacks['Aperture Laboratories'] = { author:'SuperSans\n'+message, tiles:'https://i.imgur.com/Fg9GIN2.png', speedpad:'https://i.imgur.com/CPoMTrR.png', speedpadRed:'https://i.imgur.com/Az9vhYO.png', speedpadBlue:'https://i.imgur.com/nMVO8KV.png', portal:'https://i.imgur.com/nPdqzJ2.png', splats:'https://i.imgur.com/HSufen1.png' };
extraPacks['Brioche Light'] = { author:'Brioche\n'+message, tiles:'https://i.imgur.com/47ulK1R.png', speedpad:'http://i.imgur.com/wtpkZWw.png', speedpadRed:'http://i.imgur.com/l6OMel5.png', speedpadBlue:'http://i.imgur.com/IAAOkQz.png', portal:'http://i.imgur.com/CXgNNTs.png', splats:'http://i.imgur.com/kbkOC6x.png' };
extraPacks['Derezzed'] = { author:'-salt-\n'+message, tiles:'https://i.imgur.com/NC3NJUZ.png', speedpad:'http://i.imgur.com/BXtUHQG.png', speedpadRed:'http://i.imgur.com/G92Af0J.png', speedpadBlue:'http://i.imgur.com/R9FAvpp.png', portal:'http://i.imgur.com/vJDZam9.png', splats:'http://i.imgur.com/WXHAA3I.png' };
extraPacks['Doodle'] = { author:'turtlemansam\n'+message, tiles:'https://i.imgur.com/W0anL7u.png', speedpad:'https://i.imgur.com/aLs3qyH.png', speedpadRed:'https://i.imgur.com/uObyeQ2.png', speedpadBlue:'https://i.imgur.com/Ko9Rea2.png', portal:'https://i.imgur.com/bFYUxzA.png', splats:'https://i.imgur.com/KillvgL.png' };
extraPacks['Glow'] = { author:'MagicPigeon\n'+message, tiles:'https://i.imgur.com/ciiB8Pw.png', speedpad:'https://i.imgur.com/IB95nd5.png', speedpadRed:'https://i.imgur.com/8RgHd1Y.png', speedpadBlue:'https://i.imgur.com/E3gqIdZ.png', portal:'https://i.imgur.com/H1e5f5X.png', splats:'https://i.imgur.com/yMbLHLT.png' };
extraPacks['Halloween'] = { author:'TagPro\n'+message, tiles:'https://i.imgur.com/DqpxNyk.png', speedpad:'/images/events/halloween/speedpad.png', speedpadRed:'/images/events/halloween/speedpadred.png', speedpadBlue:'/images/events/halloween/speedpadblue.png', portal:'/images/events/halloween/portal.png', splats:'/images/events/halloween/splats.png' };
extraPacks['Kindergarten'] = { author:'Clydas\n'+message, tiles:'http://i.imgur.com/Zr1881o.png', speedpad:'http://i.imgur.com/UEpX1wb.png', speedpadRed:'http://i.imgur.com/tUC9CMG.png', speedpadBlue:'http://i.imgur.com/5yA3IOx.png', portal:'http://i.imgur.com/6Lbd9Aw.png', splats:'http://i.imgur.com/ZGSTp2s.png' };
extraPacks['Mario'] = { author:'MagicPigeon\n'+message, tiles:'https://i.imgur.com/0ErN4Be.png', speedpad:'https://i.imgur.com/zImnW1i.png', speedpadRed:'https://i.imgur.com/AXEDaAv.png', speedpadBlue:'https://i.imgur.com/mH8Qww0.png', portal:'https://i.imgur.com/BLIVace.png', splats:'https://i.imgur.com/9dAtpMy.png' };
extraPacks['Next Classic'] = { author:'MagicPigeon\n'+message, tiles:'https://i.imgur.com/ulQFpn7.png', speedpad:'https://i.imgur.com/w7pW8SC.png', speedpadRed:'https://i.imgur.com/FHjSv04.png', speedpadBlue:'https://i.imgur.com/SSK4Hno.png', portal:'https://i.imgur.com/gdJfGV9.png', splats:'http://i.imgur.com/GObCQoT.png' };
extraPacks['Nilla'] = { author:'Dotsarecool\n'+message, tiles:'https://i.imgur.com/kuPdAXV.png', speedpad:'https://i.imgur.com/39zXNPL.png', speedpadRed:'https://i.imgur.com/bo4m727.png', speedpadBlue:'https://i.imgur.com/EFk5IgL.png', portal:'https://i.imgur.com/KdEHGtf.png', splats:'http://i.imgur.com/kHUlTwP.png' };
extraPacks['Pixelated'] = { author:'iso\n'+message, tiles:'https://i.imgur.com/zcP5TjC.png', speedpad:'https://i.imgur.com/ZfS3vb1.png', speedpadRed:'https://i.imgur.com/Ao8vGcn.png', speedpadBlue:'https://i.imgur.com/MW7K5PV.png', portal:'https://i.imgur.com/JXTmmen.png', splats:'https://i.imgur.com/LFoPM44.png' };
extraPacks['Seaweed G/B'] = { author:'Borgen\n'+message, tiles:'https://i.imgur.com/Kh4jUfE.png', speedpad:'http://i.imgur.com/ONxlcFL.png', speedpadRed:'https://i.imgur.com/y3MZi7c.png', speedpadBlue:'http://i.imgur.com/DpJS96w.png', portal:'http://i.imgur.com/44fPSBq.png', splats:'https://i.imgur.com/ipV54ze.png' };
extraPacks['Seaweed R/B'] = { author:'Borgen\n'+message, tiles:'https://i.imgur.com/RslLcen.png', speedpad:'http://i.imgur.com/ONxlcFL.png', speedpadRed:'http://i.imgur.com/DwUHM2I.png', speedpadBlue:'http://i.imgur.com/DpJS96w.png', portal:'http://i.imgur.com/44fPSBq.png', splats:'http://i.imgur.com/ZrimG2x.png' };
extraPacks['Star Wars'] = { author:'Moosen\n'+message, tiles:'https://i.imgur.com/1GQnONe.png', speedpad:'http://i.imgur.com/WgeuDEz.png', speedpadRed:'http://i.imgur.com/cqY1LTe.png', speedpadBlue:'http://i.imgur.com/bCUoqXq.png', portal:'http://i.imgur.com/FtLHfuz.png', splats:'https://i.imgur.com/XIndyGS.png' };
extraPacks['TagPro Ultra'] = { author:'MuscleCaps\n'+message, tiles:'https://i.imgur.com/qTjavFh.png', speedpad:'http://i.imgur.com/dLPehvN.png', speedpadRed:'http://i.imgur.com/U9eQnIa.png', speedpadBlue:'http://i.imgur.com/CtRmTaF.png', portal:'http://i.imgur.com/yiLdTR9.png', splats:'http://i.imgur.com/TTuhrS5.png' };
extraPacks['Tranquility Dark'] = { author:'R e t r o\n'+message, tiles:'https://i.imgur.com/fb8ueHE.png', speedpad:'https://i.imgur.com/tZE7l6b.png', speedpadRed:'https://i.imgur.com/AGMgt6S.png', speedpadBlue:'https://i.imgur.com/nokGBIr.png', portal:'https://i.imgur.com/gFC1dUu.png', splats:'https://i.imgur.com/tDsbgPv.png' };
extraPacks['Ultra Smooth'] = { author:'ProfessorTag\n'+message, tiles:'https://i.imgur.com/Nw0EqWH.png', speedpad:'http://i.imgur.com/zxubWbQ.png', speedpadRed:'http://i.imgur.com/yJGhLPt.png', speedpadBlue:'http://i.imgur.com/K02G9jE.png', portal:'http://i.imgur.com/hffUZ2J.png', splats:'http://i.imgur.com/xMMkRce.png' };
extraPacks['Vanilla Pro'] = { author:'ProfessorTag\n'+message, tiles:'https://i.imgur.com/ZKAwVRG.png', speedpad:'http://i.imgur.com/6h2Fna8.png', speedpadRed:'http://i.imgur.com/pF4l9SO.png', speedpadBlue:'http://i.imgur.com/NlepAuW.png', portal:'http://i.imgur.com/qpg0wCt.png', splats:'http://i.imgur.com/ABTYq4t.png' };
extraPacks['Vortex'] = { author:'MagicPigeon\n'+message, tiles:'https://i.imgur.com/CLgkyxU.png', speedpad:'http://i.imgur.com/hL1YlFu.png', speedpadRed:'http://i.imgur.com/gxQeYTw.png', speedpadBlue:'http://i.imgur.com/pbXh4b1.png', portal:'http://i.imgur.com/H1cHH5w.png', splats:'http://i.imgur.com/36fUJG2.png' };
extraPacks['Yin-Yang'] = { author:'Browncoat\n'+message, tiles:'https://i.imgur.com/kTVchxk.png', speedpad:'http://i.imgur.com/NVPIQ1y.png', speedpadRed:'http://i.imgur.com/e18kH49.png', speedpadBlue:'http://i.imgur.com/lv8pcWF.png', portal:'http://i.imgur.com/DZried3.png', splats:'http://i.imgur.com/0GTWyyW.png' };
$.each($('#custom').find('input[type="text"]'), function() {
let type = this.id;
let name = $(this).siblings('label').text();
$(this).siblings('label').after('<select id="TPE_Packs_'+type+'" class="TPE_Packs" style="margin:0 0 0 5px; width:20px; color:black; font-size:12px; border-radius:5px;" title="Loads a SINGLE link for &quot;'+name+'&quot;"></select>');
$('#TPE_Packs_'+type).append('<optgroup label="Default Packs..." style="color:#e00; font-size:14px">');
$.each(texturePacks, function(key, value) {
$('#TPE_Packs_'+type).append('<option value="'+value[type]+'"'+(value.author?' title="Created by '+value.author+'"':'')+'>'+value.name+'</option>');
});
$('#TPE_Packs_'+type).append('</optgroup>');
$('#TPE_Packs_'+type).append('<optgroup label="Extra Packs..." style="color:#e00; font-size:14px">');
$.each(extraPacks, function(key, value) {
$('#TPE_Packs_'+type).append('<option value="'+value[type]+'"'+(value.author?' title="Created by '+value.author+'"':'')+'>'+key+'</option>');
});
$('#TPE_Packs_'+type).append('</optgroup>');
$('#TPE_Packs_'+type).append('<optgroup id="TPE_MyPacks_OptGroup_'+type+'" label="My Saved Packs..." style="color:#e00; font-size:14px">');
$.each(myPacks, function(key, value) {
$('#TPE_Packs_'+type).append('<option value="'+value[type]+'" data-name="'+key+'">'+key+'</option>');
});
$('#TPE_Packs_'+type).append('</optgroup>');
});
$('#TP_ShowPreviewAll').after('<div style="position:absolute; right:0; margin:-10px 12px 0 0; font-size:12px;" title="Load all links from an extra texture pack.\nYou also need to click &quot;Import Textures&quot; to save/use them in a game."<span>Load Complete &quot;Extra&quot; Pack: </span><select id="TP_ExtraPacks" style="width:20px; color:black; border-radius:4px;"><option>- Select -</option></select></div>');
$.each(extraPacks, function(key, value) {
$('#TP_ExtraPacks').append('<option value="'+key+'"'+(value.author?' title="Created by '+value.author+'"':'')+'>'+key+'</option>');
});
$('#TP_ExtraPacks').on('change', function() {
let val = this.value;
$.each($('#custom').find('input[type="text"]'), function() {
$('#'+this.id).val(extraPacks[val][this.id]);
});
updateFloorTilesPreview();
});
$.each(myPacks, function(key, value) {
createNewPackIcon(key);
});
};
/*-------------------------------------------------------------------------------*/
var updateFloorTilesPreview = function() {
let ctx = $("#TPE_FloorTiles_Preview").get(0).getContext("2d");
var addExtras = function() {
//addFloorGradient(ctx, 160, 160);
if (options.floortiles.gradient) addGradient(ctx, 160, 160, options.floortiles.gradient_type, options.floortiles.gradient_color1, options.floortiles.gradient_color2, options.floortiles.gradient_opacity1, options.floortiles.gradient_opacity2, options.floortiles.gradient_repeats);
if (options.floortiles.checkered) addCheckered(ctx, 40, 40);
if (options.floortiles.splotches) addSplotches(ctx, 160, 160);
if (options.floortiles.hexagons) addHexagons(ctx, 40, 40);
if (options.floortiles.specks) addRandoms(ctx, 40, 40);
if (options.floortiles.grids_diagonal) addDiagonalGrid(ctx, 40, 40);
if (options.floortiles.grids_square) addSquareGrid(ctx, 40, 40);
};
let tileBaseColor = options.floortiles.tint_color;
if (options.floortiles.random) tileBaseColor = Please.make_color({
saturation: options.floortiles.random_saturation / 100,
value: options.floortiles.random_brightness / 100
})[0];
if (options.floortiles.modify && options.floortiles.plain) {
//clearFloor(ctx, 40, 40);
ctx.fillStyle = hexToRgbA(tileBaseColor, 1);
ctx.fillRect(0, 0, 40, 40);
addExtras();
} else if (!options.floortiles.modify || (options.floortiles.modify && !options.floortiles.plain)) {
let img = document.createElement('img');
img.onload = function() {
if (options.floortiles.modify && options.floortiles.tint_opacity > 0) {
let tileCanvas = document.createElement('canvas');
tileCanvas.width = 40;
tileCanvas.height = 40;
let tileCtx = tileCanvas.getContext('2d');
tileCtx.drawImage(img, 520,160,40,40, 0,0,40,40);
setTint(tileCanvas, tileBaseColor, options.floortiles.tint_opacity / 100);
ctx.drawImage(tileCanvas, 0,0,40,40, 0,0,40,40);
tileCanvas = null;
} else {
ctx.drawImage(img, 520,160,40,40, 0,0,40,40);
}
addExtras();
img = null;
};
img.crossOrigin = 'Anonymous';
img.src = $('#tiles').val();
}
};
var updateBallPreviews = function() {
if (options.redball.modify) {
let redctx = $("#TPE_Red_Ball_Preview").get(0).getContext("2d");
redctx.clearRect(0, 0, 40, 40);
drawBall2(redctx, 'redball');
}
if (options.blueball.modify) {
let bluectx = $("#TPE_Blue_Ball_Preview").get(0).getContext("2d");
bluectx.clearRect(0, 0, 40, 40);
drawBall(bluectx, 'blueball');
if (options.blueball.shapes_overlay) drawOverlay(bluectx, 'blueball');
if (options.blueball.border_width > 0) drawBorder(bluectx, 'blueball');
if (options.blueball.shapes_arc) drawArc(bluectx, 'blueball');
if (options.blueball.shapes_star) drawStar(bluectx, 'blueball');
}
};
var updateAllPreviews = function() {
updateBGPreview();
updateFloorImagePreview();
updateFloorTilesPreview();
updateBallPreviews();
};
/*-------------------------------------------------------------------------------*/
// Define the preset values...
/*-------------------------------------------------------------------------------*/
var presets = {
all: {
containerId: ['TPE_MySavedOptions'],
presets: {
'None / Clear All': {},
'24K+': {"gameoptions":{"ball_transparency":"0","fading_splats":true,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"ellipse","gradient_preset":"red","color":"#000040","color1":"#554444","color2":"#552222","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"https://i.imgur.com/ia1X6yz.png","speedpad":"https://i.imgur.com/XGbQS0m.png","speedpadRed":"https://i.imgur.com/7ezs4BA.png","speedpadBlue":"https://i.imgur.com/rVFx0HE.png","portal":"https://i.imgur.com/f0HY7Tu.png","splats":"https://i.imgur.com/nRbpdju.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#ebebeb","tint_opacity":"50","random":false,"random_saturation":"15","random_brightness":"25","nofloor":false,"specks":false,"specks_color":"#000000","specks_length":"1","specks_width":"1","specks_angle":"180","specks_count":"35","specks_opacity":"-25","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":false,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":false,"hexagons_size":"80","hexagons_linewidth":"2","hexagons_margin":"0","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#c0c0c0","hexagons_stroke_opacity":"40","hexagons_stroke_gradient":"1","hexagons_fill":false,"hexagons_fill_color":"#ccffcc","hexagons_fill_opacity":"25","hexagons_fill_gradient":"100","checkered":false,"checkered_size":"40","checkered_margin":"5","checkered_altTintColor":"#000000","checkered_altTintOpacity":"10","checkered_random":false,"grids_square":true,"grids_square_size":"40","grids_square_margin":"4","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":true,"grids_square_altColor":"#2d0059","grids_diagonal":false,"grids_diagonal_size":"160","grids_diagonal_color":"#000000","grids_diagonal_opacity":"10","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#cccccc","gradient_color2":"#777777","gradient_opacity1":"30","gradient_opacity2":"50","gradient_type":"randomcircles","gradient_repeats":"100","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"35","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":true,"centerline_color":"#ffdf00","centerline_width":"3","centerline_dashsize":"24","centerline_opacity":"80","circle":true,"circle_red_color":"#ff4040","circle_blue_color":"#5555ff","circle_yellow_color":"#ffff00","circle_width":"5","circle_radius":"260","circle_opacity":"50","circle_gradient":true,"circle_dashsize":"0","octagon":false,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff00","octagon_width":"6","octagon_radius":"120","octagon_opacity":"80","octagon_sides":"8","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#8080ff","opacity":"10","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"4","shadow_blur":"5","shadow_opacity":"50","shadow_include_gates":true,"specks":false,"specks_color":"#ffffff","specks_length":"-2","specks_width":"1","specks_angle":"135","specks_count":"75","specks_opacity":"-35","checkered":false,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#ffffff","checkered_altTintOpacity":"10","checkered_random":false,"grids_square":false,"grids_square_size":"5","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"10","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"centercircle","gradient_repeats":"20","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"65","splotches_color_saturation":"70","splotches_color_brightness":"60","separatelayer":false},"glow":{"boosts_red":true,"boosts_red_color":"#ff4040","boosts_red_radius":"100","boosts_red_opacity":"15","boosts_blue":true,"boosts_blue_color":"#5555ff","boosts_blue_radius":"100","boosts_blue_opacity":"15","boosts_yellow":false,"boosts_yellow_color":"#ffff80","boosts_yellow_radius":"100","boosts_yellow_opacity":"10","flags_red":false,"flags_red_color":"#ff4040","flags_red_radius":"200","flags_red_opacity":"15","flags_blue":false,"flags_blue_color":"#5555ff","flags_blue_radius":"200","flags_blue_opacity":"15","flags_yellow":false,"flags_yellow_color":"#ffff80","flags_yellow_radius":"200","flags_yellow_opacity":"10","spikes":false,"spikes_color":"#000000","spikes_radius":"18","spikes_opacity":"100","bombs":false,"bombs_color":"#ffff00","bombs_radius":"18","bombs_opacity":"70","pups":false,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"30"},"spikes":{"modify":false,"color":"#ff8877","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"0","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"20","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":false,"color":"#bb00bb","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"0","shadow_blur":"1","shadow_color":"#ffff00","shadow_opacity":"60"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":true,"shadow_size":"0","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"60"},"gates":{"neutral":false,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"100","neutral_fill_margin":"0","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":false,"neutral_border_color":"#444444","neutral_border_linewidth":"1","neutral_border_margin":"0","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"1","neutral_cross_margin":"0","green":false,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"100","green_fill_margin":"0","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":false,"green_border_color":"#444444","green_border_linewidth":"1","green_border_margin":"0","green_cross":false,"green_cross_color":"#009900","green_cross_opacity":"50","green_cross_linewidth":"1","green_cross_margin":"0","red":false,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"100","red_fill_margin":"0","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":false,"red_border_color":"#444444","red_border_linewidth":"1","red_border_margin":"0","red_cross":false,"red_cross_color":"#009900","red_cross_opacity":"50","red_cross_linewidth":"1","red_cross_margin":"0","blue":false,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"100","blue_fill_margin":"0","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":false,"blue_border_color":"#444444","blue_border_linewidth":"1","blue_border_margin":"0","blue_cross":false,"blue_cross_color":"#009900","blue_cross_opacity":"50","blue_cross_linewidth":"1","blue_cross_margin":"0","drawFloorUnderneath":true,"original_margin":"0"},"team":{"modify":false,"red_color":"#ff0d0d","blue_color":"#42aeff","yellow_color":"#ffff00","gradient2_red_color":"#ff4040","gradient2_blue_color":"#5555ff","gradient2_yellow_color":"#ffff00","gradient2_type":"diagonal","gradient2_opacity1":"100","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":false,"pattern_size":"5","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#000000","pattern_blue_color":"#000000","pattern_yellow_color":"#000000","pattern_opacity":"50","pattern_altsides":false,"border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#000000","border_blue_color":"#000000","border_yellow_color":"#000000","border_opacity":"100","brightness":"65","contrast":"100","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"0","gradient2":true,"pattern_fill":true},"endzone":{"modify":false,"red_color":"#ff4040","blue_color":"#5555ff","opacity":"100","margin":"0","checkered":true,"checkered_size":"20","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":false,"stripes_size":"20","stripes_red_color":"#888888","stripes_blue_color":"#888888","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":false,"color":"#ff0000","size":"10","opacity":"50","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#222222","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"10","opacity":"50","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#ffffff","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'CamsDark+': {"gameoptions":{"ball_transparency":"0","fading_splats":true,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":true,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"ellipse","gradient_preset":"dark","color":"#000040","color1":"#222222","color2":"#090909","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"0","line_width":"0","line_radius":"19","fill_color":"#ffff00","fill_opacity":"75","speed":"60"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"/textures/camsppdark/tiles.png","speedpad":"/textures/camsppdark/speedpad.png","speedpadRed":"/textures/camsppdark/speedpadred.png","speedpadBlue":"/textures/camsppdark/speedpadblue.png","portal":"/textures/camsppdark/portal.png","splats":"/textures/camsppdark/splats.png","gravityWell":"/textures/flat/gravitywell.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#121212","tint_opacity":"60","random":false,"random_saturation":"15","random_brightness":"25","nofloor":false,"specks":false,"specks_color":"#969696","specks_length":"1","specks_width":"1","specks_angle":"0","specks_count":"25","specks_opacity":"0","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":false,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":false,"hexagons_size":"100","hexagons_linewidth":"1","hexagons_margin":"1","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#c1c1c1","hexagons_stroke_opacity":"50","hexagons_stroke_gradient":"20","hexagons_fill":false,"hexagons_fill_color":"#2a2a2a","hexagons_fill_opacity":"40","hexagons_fill_gradient":"31","checkered":true,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#ffffff","checkered_altTintOpacity":"1","checkered_random":false,"grids_square":true,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"5","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#838383","grids_diagonal":true,"grids_diagonal_size":"10","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"4","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#400000","gradient_opacity1":"0","gradient_opacity2":"40","gradient_type":"centerline","gradient_repeats":"2","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"35","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":true,"centerline_color":"#ffff00","centerline_width":"1","centerline_dashsize":"12","centerline_opacity":"80","circle":true,"circle_red_color":"#ff4040","circle_blue_color":"#5555ff","circle_yellow_color":"#ffff00","circle_width":"16","circle_radius":"330","circle_opacity":"50","circle_gradient":true,"circle_dashsize":"0","octagon":false,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff00","octagon_width":"6","octagon_radius":"120","octagon_opacity":"80","octagon_sides":"8","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"5","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#000000","specks_length":"-2","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":true,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"5","checkered_random":false,"grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#cccccc","gradient_color2":"#525252","gradient_opacity1":"50","gradient_opacity2":"50","gradient_type":"centercircle","gradient_repeats":"10","splotches":false,"splotches_color_base":"#8b0000","splotches_color_scheme":"complementary","splotches_color_opacity":"30","splotches_color_saturation":"30","splotches_color_brightness":"45","separatelayer":false},"glow":{"boosts_red":true,"boosts_red_color":"#ff4040","boosts_red_radius":"100","boosts_red_opacity":"15","boosts_blue":true,"boosts_blue_color":"#5555ff","boosts_blue_radius":"100","boosts_blue_opacity":"15","boosts_yellow":true,"boosts_yellow_color":"#ffff80","boosts_yellow_radius":"100","boosts_yellow_opacity":"10","flags_red":true,"flags_red_color":"#ff4040","flags_red_radius":"200","flags_red_opacity":"15","flags_blue":true,"flags_blue_color":"#5555ff","flags_blue_radius":"200","flags_blue_opacity":"15","flags_yellow":true,"flags_yellow_color":"#ffff80","flags_yellow_radius":"200","flags_yellow_opacity":"10","spikes":false,"spikes_color":"#bbbbbb","spikes_radius":"17","spikes_opacity":"50","bombs":false,"bombs_color":"#fda2ef","bombs_radius":"21","bombs_opacity":"100","pups":true,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"30"},"spikes":{"modify":false,"color":"#ff8877","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"60","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":true,"color":"#000000","opacity":"0","brightness":"125","contrast":"100","sepia":"0","shadow":true,"shadow_size":"0","shadow_blur":"3","shadow_color":"#ff00ff","shadow_opacity":"60"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":false,"shadow_size":"2","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"70"},"gates":{"neutral":false,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"100","neutral_fill_margin":"0","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":false,"neutral_border_color":"#444444","neutral_border_linewidth":"1","neutral_border_margin":"0","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"1","neutral_cross_margin":"0","green":false,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"100","green_fill_margin":"0","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":false,"green_border_color":"#444444","green_border_linewidth":"1","green_border_margin":"0","green_cross":false,"green_cross_color":"#009900","green_cross_opacity":"50","green_cross_linewidth":"1","green_cross_margin":"0","red":false,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"100","red_fill_margin":"0","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":false,"red_border_color":"#444444","red_border_linewidth":"1","red_border_margin":"0","red_cross":false,"red_cross_color":"#009900","red_cross_opacity":"50","red_cross_linewidth":"1","red_cross_margin":"0","blue":false,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"100","blue_fill_margin":"0","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":false,"blue_border_color":"#444444","blue_border_linewidth":"1","blue_border_margin":"0","blue_cross":false,"blue_cross_color":"#009900","blue_cross_opacity":"50","blue_cross_linewidth":"1","blue_cross_margin":"0","drawFloorUnderneath":true,"original_margin":"0"},"team":{"modify":true,"red_color":"#ff4f4f","blue_color":"#2d96ff","yellow_color":"#ffff5b","gradient2_red_color":"#ff3535","gradient2_blue_color":"#359aff","gradient2_yellow_color":"#ffff77","gradient2_type":"randomcircles","gradient2_opacity1":"50","gradient2_opacity2":"40","gradient2_repeats":"10","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":true,"pattern_size":"4","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#000000","pattern_blue_color":"#000000","pattern_yellow_color":"#000000","pattern_opacity":"10","pattern_altsides":false,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"100","contrast":"100","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"1","gradient2":true,"pattern_fill":true},"endzone":{"modify":true,"red_color":"#ff4040","blue_color":"#5555ff","opacity":"100","margin":"0","checkered":true,"checkered_size":"14","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":false,"stripes_size":"20","stripes_red_color":"#888888","stripes_blue_color":"#888888","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":false,"color":"#b70000","size":"14","opacity":"65","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"3","border_segments":"8","shapes_arc":true,"shapes_arc_width":"1","shapes_arc_position":"18","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#000000","shapes_star_transparent":false,"shapes_star_width":"4","shapes_star_spikes":"4","shapes_star_inner":"0","shapes_star_outer":"10","shapes_star_fill":false,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffc6c6","border_color":"#ff0000","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"14","opacity":"65","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"3","border_segments":"8","shapes_arc":true,"shapes_arc_width":"1","shapes_arc_position":"18","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"4","shapes_star_spikes":"4","shapes_star_inner":"0","shapes_star_outer":"10","shapes_star_fill":false,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#bfdfff","border_color":"#2b95ff","shapes_arc_color":"#000000","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'Classic+': {"gameoptions":{"ball_transparency":"0","fading_splats":true,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"none","stretch":true,"gradient_type":"ellipse","gradient_preset":"dark","color":"#000040","color1":"#222222","color2":"#090909","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#80ff80","line_opacity":"100","line_width":"1","line_radius":"20","fill_color":"#80ff80","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"50","line_width":"1","line_radius":"19","fill_color":"#ffff00","fill_opacity":"75","speed":"60"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"/textures/classic/tiles.png","speedpad":"https://i.imgur.com/IB95nd5.png","speedpadRed":"https://i.imgur.com/8RgHd1Y.png","speedpadBlue":"https://i.imgur.com/E3gqIdZ.png","portal":"https://i.imgur.com/H1e5f5X.png","splats":"http://i.imgur.com/2kLd2Rn.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#121212","tint_opacity":"60","random":false,"random_saturation":"15","random_brightness":"25","nofloor":false,"specks":false,"specks_color":"#969696","specks_length":"1","specks_width":"1","specks_angle":"0","specks_count":"25","specks_opacity":"0","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":false,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":false,"hexagons_size":"100","hexagons_linewidth":"1","hexagons_margin":"1","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#c1c1c1","hexagons_stroke_opacity":"50","hexagons_stroke_gradient":"20","hexagons_fill":false,"hexagons_fill_color":"#2a2a2a","hexagons_fill_opacity":"40","hexagons_fill_gradient":"31","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#ffffff","checkered_altTintOpacity":"1","checkered_random":false,"grids_square":true,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#838383","grids_diagonal":false,"grids_diagonal_size":"10","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"9","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#7dbeff","gradient_color2":"#001428","gradient_opacity1":"50","gradient_opacity2":"40","gradient_type":"centercircle","gradient_repeats":"6","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"35","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":false,"centerline_color":"#ffff00","centerline_width":"1","centerline_dashsize":"12","centerline_opacity":"80","circle":true,"circle_red_color":"#ffffff","circle_blue_color":"#ffffff","circle_yellow_color":"#ffff00","circle_width":"20","circle_radius":"280","circle_opacity":"30","circle_gradient":true,"circle_dashsize":"0","octagon":false,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff00","octagon_width":"6","octagon_radius":"120","octagon_opacity":"80","octagon_sides":"8","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#020202","opacity":"0","brightness":"80","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"5","shadow_blur":"4","shadow_opacity":"100","shadow_include_gates":true,"specks":false,"specks_color":"#ffffff","specks_length":"-2","specks_width":"1","specks_angle":"135","specks_count":"75","specks_opacity":"-35","checkered":false,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#ffffff","checkered_altTintOpacity":"10","checkered_random":false,"grids_square":false,"grids_square_size":"5","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"10","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"centercircle","gradient_repeats":"20","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"65","splotches_color_saturation":"70","splotches_color_brightness":"60","separatelayer":false},"glow":{"boosts_red":true,"boosts_red_color":"#ff4040","boosts_red_radius":"100","boosts_red_opacity":"15","boosts_blue":true,"boosts_blue_color":"#5555ff","boosts_blue_radius":"100","boosts_blue_opacity":"15","boosts_yellow":true,"boosts_yellow_color":"#ffff80","boosts_yellow_radius":"100","boosts_yellow_opacity":"10","flags_red":true,"flags_red_color":"#ff4040","flags_red_radius":"200","flags_red_opacity":"15","flags_blue":true,"flags_blue_color":"#5555ff","flags_blue_radius":"200","flags_blue_opacity":"15","flags_yellow":true,"flags_yellow_color":"#ffff80","flags_yellow_radius":"200","flags_yellow_opacity":"10","spikes":true,"spikes_color":"#bbbbbb","spikes_radius":"17","spikes_opacity":"75","bombs":false,"bombs_color":"#fda2ef","bombs_radius":"21","bombs_opacity":"50","pups":true,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"30"},"spikes":{"modify":true,"color":"#ff8877","opacity":"0","brightness":"125","contrast":"100","sepia":"32","shadow":false,"shadow_size":"0","shadow_blur":"0","shadow_color":"#000000","shadow_opacity":"60","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":true,"color":"#ffffff","opacity":"0","brightness":"125","contrast":"100","sepia":"0","shadow":true,"shadow_size":"0","shadow_blur":"3","shadow_color":"#ff80ff","shadow_opacity":"60"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":true,"shadow_size":"2","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"70"},"gates":{"neutral":false,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"100","neutral_fill_margin":"0","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":false,"neutral_border_color":"#444444","neutral_border_linewidth":"","neutral_border_margin":"0","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"1","neutral_cross_margin":"0","green":false,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"100","green_fill_margin":"0","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":false,"green_border_color":"#444444","green_border_linewidth":"","green_border_margin":"0","green_cross":false,"green_cross_color":"#000000","green_cross_opacity":"50","green_cross_linewidth":"1","green_cross_margin":"0","red":false,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"100","red_fill_margin":"0","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":false,"red_border_color":"#444444","red_border_linewidth":"","red_border_margin":"0","red_cross":false,"red_cross_color":"#000000","red_cross_opacity":"50","red_cross_linewidth":"1","red_cross_margin":"0","blue":false,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"100","blue_fill_margin":"0","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":false,"blue_border_color":"#444444","blue_border_linewidth":"","blue_border_margin":"0","blue_cross":false,"blue_cross_color":"#000000","blue_cross_opacity":"50","blue_cross_linewidth":"1","blue_cross_margin":"0","drawFloorUnderneath":true,"original_margin":"0"},"team":{"modify":true,"red_color":"#800000","blue_color":"#006ad5","yellow_color":"#ffff00","gradient2_red_color":"#ff4040","gradient2_blue_color":"#5555ff","gradient2_yellow_color":"#ffff00","gradient2_type":"diagonal","gradient2_opacity1":"100","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":true,"pattern_size":"8","pattern_margin":"0","pattern_blur":"1","pattern_red_color":"#000000","pattern_blue_color":"#000000","pattern_yellow_color":"#000000","pattern_opacity":"10","pattern_altsides":false,"border":false,"border_size":"2","border_linewidth":"1","border_red_color":"#000000","border_blue_color":"#000000","border_yellow_color":"#000000","border_opacity":"100","brightness":"125","contrast":"100","sepia":"0","opacity":"50","margin":"0","drawFloorUnderneath":true,"original_margin":"1","gradient2":true,"pattern_fill":true},"endzone":{"modify":true,"red_color":"#ff0000","blue_color":"#5555ff","opacity":"100","margin":"0","checkered":false,"checkered_size":"10","checkered_alt_red_color":"#800000","checkered_alt_blue_color":"#ffffff","stripes":true,"stripes_size":"8","stripes_red_color":"#9e9e9e","stripes_blue_color":"#b4b4b4","border":false,"border_size":"10","border_linewidth":"1","border_red_color":"#ffffff","border_blue_color":"#000000","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":true,"color":"#b70000","size":"14","opacity":"65","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"3","border_segments":"8","shapes_arc":true,"shapes_arc_width":"1","shapes_arc_position":"18","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#000000","shapes_star_transparent":false,"shapes_star_width":"4","shapes_star_spikes":"4","shapes_star_inner":"0","shapes_star_outer":"10","shapes_star_fill":false,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffc6c6","border_color":"#ff0000","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":true,"color":"#0080ff","size":"14","opacity":"65","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"3","border_segments":"8","shapes_arc":true,"shapes_arc_width":"1","shapes_arc_position":"18","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"4","shapes_star_spikes":"4","shapes_star_inner":"0","shapes_star_outer":"10","shapes_star_fill":false,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#bfdfff","border_color":"#2b95ff","shapes_arc_color":"#000000","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'Coral+': {"gameoptions":{"ball_transparency":"0","fading_splats":false,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"team","gradient_preset":"dark","color":"#000040","color1":"#8c8c8c","color2":"#464646","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"/textures/coral/tiles.png","speedpad":"/textures/coral/speedpad.png","speedpadRed":"/textures/coral/speedpadred.png","speedpadBlue":"/textures/coral/speedpadblue.png","portal":"/textures/coral/portal.png","splats":"/textures/coral/splats.png","gravityWell":"/textures/flat/gravitywell.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#000000","tint_opacity":"50","random":false,"random_saturation":"15","random_brightness":"25","nofloor":false,"specks":true,"specks_color":"#ffffff","specks_length":"1","specks_width":"1","specks_angle":"180","specks_count":"29","specks_opacity":"-58","image":false,"image_floor":true,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":true,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":false,"hexagons_size":"100","hexagons_linewidth":"10","hexagons_margin":"1","hexagons_blur":"1","hexagons_stroke":true,"hexagons_stroke_color":"#c3c3c3","hexagons_stroke_opacity":"6","hexagons_stroke_gradient":"50","hexagons_fill":true,"hexagons_fill_color":"#ffff80","hexagons_fill_opacity":"10","hexagons_fill_gradient":"97","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#a7a7a7","checkered_altTintOpacity":"3","checkered_random":false,"grids_square":true,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"10","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#2d0059","grids_diagonal":true,"grids_diagonal_size":"160","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#00b92f","gradient_opacity1":"100","gradient_opacity2":"15","gradient_type":"randomcircles","gradient_repeats":"60","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"35","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":true,"centerline_color":"#00ff00","centerline_width":"1","centerline_dashsize":"3","centerline_opacity":"80","circle":true,"circle_red_color":"#ff4040","circle_blue_color":"#5555ff","circle_yellow_color":"#ffff00","circle_width":"6","circle_radius":"165","circle_opacity":"50","circle_gradient":true,"circle_dashsize":"0","octagon":true,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff00","octagon_width":"2","octagon_radius":"40","octagon_opacity":"80","octagon_sides":"8","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":false},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#400080","specks_length":"-14","specks_width":"1","specks_angle":"0","specks_count":"88","specks_opacity":"-73","checkered":false,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"5","checkered_random":false,"grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"randomcircles","gradient_repeats":"20","splotches":true,"splotches_color_base":"#800080","splotches_color_scheme":"triadic","splotches_color_opacity":"50","splotches_color_saturation":"95","splotches_color_brightness":"10","separatelayer":false},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"40","boosts_red_opacity":"15","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"40","boosts_blue_opacity":"15","boosts_yellow":false,"boosts_yellow_color":"#ffff00","boosts_yellow_radius":"40","boosts_yellow_opacity":"10","flags_red":true,"flags_red_color":"#ff4040","flags_red_radius":"200","flags_red_opacity":"35","flags_blue":true,"flags_blue_color":"#5555ff","flags_blue_radius":"200","flags_blue_opacity":"35","flags_yellow":true,"flags_yellow_color":"#ffff80","flags_yellow_radius":"200","flags_yellow_opacity":"20","spikes":false,"spikes_color":"#ffffff","spikes_radius":"20","spikes_opacity":"100","bombs":false,"bombs_color":"#bb00bb","bombs_radius":"50","bombs_opacity":"20","pups":true,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"20"},"spikes":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"100","shadow":true,"shadow_size":"0","shadow_blur":"3","shadow_color":"#00ff80","shadow_opacity":"50","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"72","shadow":true,"shadow_size":"0","shadow_blur":"3","shadow_color":"#ff0080","shadow_opacity":"65"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":true,"shadow_size":"3","shadow_blur":"2","shadow_color":"#000000","shadow_opacity":"70"},"gates":{"neutral":false,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"100","neutral_fill_margin":"0","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":false,"neutral_border_color":"#444444","neutral_border_linewidth":"1","neutral_border_margin":"0","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"1","neutral_cross_margin":"0","green":false,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"100","green_fill_margin":"0","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":false,"green_border_color":"#444444","green_border_linewidth":"1","green_border_margin":"0","green_cross":false,"green_cross_color":"#000000","green_cross_opacity":"50","green_cross_linewidth":"1","green_cross_margin":"0","red":false,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"100","red_fill_margin":"0","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":false,"red_border_color":"#444444","red_border_linewidth":"1","red_border_margin":"0","red_cross":false,"red_cross_color":"#000000","red_cross_opacity":"50","red_cross_linewidth":"1","red_cross_margin":"0","blue":false,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"100","blue_fill_margin":"0","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":false,"blue_border_color":"#444444","blue_border_linewidth":"1","blue_border_margin":"0","blue_cross":false,"blue_cross_color":"#000000","blue_cross_opacity":"50","blue_cross_linewidth":"1","blue_cross_margin":"0","drawFloorUnderneath":true,"original_margin":"0"},"team":{"modify":true,"red_color":"#ff4f4f","blue_color":"#0080ff","yellow_color":"#ffff5b","gradient2_red_color":"#f20000","gradient2_blue_color":"#0088ca","gradient2_yellow_color":"#fdc724","gradient2_type":"randomsquares","gradient2_opacity1":"65","gradient2_opacity2":"100","gradient2_repeats":"4","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":true,"pattern_size":"4","pattern_margin":"2","pattern_blur":"0","pattern_red_color":"#000000","pattern_blue_color":"#000000","pattern_yellow_color":"#000000","pattern_opacity":"10","pattern_altsides":false,"border":true,"border_size":"0","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#ffffff","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"100","contrast":"100","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"1","gradient2":true,"pattern_fill":false},"endzone":{"modify":false,"red_color":"#ff4040","blue_color":"#5555ff","opacity":"100","margin":"0","checkered":true,"checkered_size":"20","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":false,"stripes_size":"20","stripes_red_color":"#888888","stripes_blue_color":"#888888","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":false,"color":"#b70000","size":"16","opacity":"70","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"3","border_segments":"8","shapes_arc":false,"shapes_arc_width":"1","shapes_arc_position":"18","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#000000","shapes_star_transparent":true,"shapes_star_width":"1","shapes_star_spikes":"4","shapes_star_inner":"0","shapes_star_outer":"4","shapes_star_fill":false,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"16","opacity":"70","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"3","border_segments":"8","shapes_arc":false,"shapes_arc_width":"2","shapes_arc_position":"18","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":true,"shapes_star_width":"1","shapes_star_spikes":"4","shapes_star_inner":"0","shapes_star_outer":"4","shapes_star_fill":false,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#2b95ff","shapes_arc_color":"#414141","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'Coral Light+': {"gameoptions":{"ball_transparency":"0","fading_splats":false,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"75"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"ellipse","gradient_preset":"light","color":"#000040","color1":"#dddddd","color2":"#777777","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"19","fill_color":"#00ff00","fill_opacity":"15"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"0","line_width":"0","line_radius":"19","fill_color":"#ffff00","fill_opacity":"75","speed":"150"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"8","y":"32","radius":"5"},"textures":{"tiles":"/textures/corallight/tiles.png","speedpad":"/textures/corallight/speedpad.png","speedpadRed":"/textures/corallight/speedpadred.png","speedpadBlue":"/textures/corallight/speedpadblue.png","portal":"/textures/corallight/portal.png","splats":"/textures/corallight/splats.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":false,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#b6b6b6","tint_opacity":"50","random":false,"random_saturation":"5","random_brightness":"65","nofloor":true,"specks":false,"specks_color":"#000000","specks_length":"-11","specks_width":"4","specks_angle":"0","specks_count":"1","specks_opacity":"-23","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":false,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":false,"hexagons_size":"100","hexagons_linewidth":"1","hexagons_margin":"1","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#888888","hexagons_stroke_opacity":"25","hexagons_stroke_gradient":"15","hexagons_fill":false,"hexagons_fill_color":"#ffffff","hexagons_fill_opacity":"25","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"40","checkered_margin":"2","checkered_altTintColor":"#000080","checkered_altTintOpacity":"8","checkered_random":false,"grids_square":true,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#676767","grids_square_linewidth":"2","grids_square_opacity":"30","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":true,"grids_square_altColor":"#676767","grids_diagonal":true,"grids_diagonal_size":"80","grids_diagonal_color":"#777777","grids_diagonal_opacity":"30","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#cccccc","gradient_color2":"#777777","gradient_opacity1":"50","gradient_opacity2":"50","gradient_type":"centerline","gradient_repeats":"2","splotches":false,"splotches_color_base":"#800080","splotches_color_scheme":"complementary","splotches_color_opacity":"35","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":false,"centerline_color":"#00ff00","centerline_width":"2","centerline_dashsize":"5","centerline_opacity":"100","circle":false,"circle_red_color":"#ff4040","circle_blue_color":"#5555ff","circle_yellow_color":"#ffff80","circle_width":"60","circle_radius":"180","circle_opacity":"30","circle_gradient":false,"circle_dashsize":"0","octagon":false,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff80","octagon_width":"6","octagon_radius":"80","octagon_opacity":"80","octagon_sides":"8","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff80","cross_width":"1","cross_radius_inner":"16","cross_radius_outer":"800","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"50","shadow_include_gates":false,"specks":false,"specks_color":"#ffffff","specks_length":"1","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":false,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"16","checkered_random":false,"grids_square":true,"grids_square_size":"10","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"8","grids_square_dashed":"0","grids_square_blur":"2","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#cccccc","gradient_color2":"#525252","gradient_opacity1":"50","gradient_opacity2":"50","gradient_type":"randomcircles","gradient_repeats":"40","splotches":false,"splotches_color_base":"#8080c0","splotches_color_scheme":"normal","splotches_color_opacity":"25","splotches_color_saturation":"50","splotches_color_brightness":"30","separatelayer":true},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"100","boosts_red_opacity":"15","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"100","boosts_blue_opacity":"15","boosts_yellow":false,"boosts_yellow_color":"#ffff80","boosts_yellow_radius":"100","boosts_yellow_opacity":"10","flags_red":false,"flags_red_color":"#ff4040","flags_red_radius":"200","flags_red_opacity":"15","flags_blue":false,"flags_blue_color":"#5555ff","flags_blue_radius":"200","flags_blue_opacity":"15","flags_yellow":false,"flags_yellow_color":"#ffff80","flags_yellow_radius":"200","flags_yellow_opacity":"10","spikes":false,"spikes_color":"#bbbbbb","spikes_radius":"30","spikes_opacity":"15","bombs":false,"bombs_color":"#bb00bb","bombs_radius":"30","bombs_opacity":"20","pups":false,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"30"},"spikes":{"modify":false,"color":"#ff8877","opacity":"20","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"3","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"60","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":false,"color":"#bb00bb","opacity":"20","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"3","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"60"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":false,"shadow_size":"2","shadow_blur":"2","shadow_color":"#000000","shadow_opacity":"60"},"gates":{"neutral":true,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"39","neutral_fill_margin":"0","neutral_pattern":true,"neutral_pattern_color":"#535353","neutral_pattern_opacity":"65","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":true,"neutral_border":false,"neutral_border_color":"#8c8c8c","neutral_border_linewidth":"1","neutral_border_margin":"0","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"2","neutral_cross_margin":"0","green":true,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"39","green_fill_margin":"0","green_pattern":true,"green_pattern_color":"#00dd00","green_pattern_opacity":"65","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":true,"green_border":false,"green_border_color":"#8b8b8b","green_border_linewidth":"1","green_border_margin":"0","green_cross":false,"green_cross_color":"#009900","green_cross_opacity":"50","green_cross_linewidth":"2","green_cross_margin":"0","red":true,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"39","red_fill_margin":"0","red_pattern":true,"red_pattern_color":"#dd0000","red_pattern_opacity":"65","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":true,"red_border":false,"red_border_color":"#8a8a8a","red_border_linewidth":"1","red_border_margin":"0","red_cross":false,"red_cross_color":"#ff0000","red_cross_opacity":"50","red_cross_linewidth":"2","red_cross_margin":"0","blue":true,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"39","blue_fill_margin":"0","blue_pattern":true,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"65","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":true,"blue_border":false,"blue_border_color":"#8b8b8b","blue_border_linewidth":"1","blue_border_margin":"0","blue_cross":false,"blue_cross_color":"#0080ff","blue_cross_opacity":"50","blue_cross_linewidth":"2","blue_cross_margin":"0","drawFloorUnderneath":true,"original_margin":"1"},"team":{"modify":false,"red_color":"#d50000","blue_color":"#0080c0","yellow_color":"#ffff00","gradient2_red_color":"#ff8080","gradient2_blue_color":"#71a6ff","gradient2_yellow_color":"#ffffa4","gradient2_type":"horizontal","gradient2_opacity1":"0","gradient2_opacity2":"65","gradient2_repeats":"8","gradient2_roundedrect":"0","gradient2_redrawopp":true,"pattern":false,"pattern_size":"10","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080c0","pattern_yellow_color":"#ffff00","pattern_opacity":"40","pattern_altsides":true,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"80","contrast":"100","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"0","pattern_fill":false,"gradient2":true},"endzone":{"modify":false,"red_color":"#c42428","blue_color":"#005b88","opacity":"100","margin":"0","checkered":true,"checkered_size":"20","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":false,"stripes_size":"20","stripes_red_color":"#888888","stripes_blue_color":"#888888","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"1"},"redball":{"modify":false,"color":"#b00000","size":"15","opacity":"100","gradient":false,"gradient_color":"#400000","gradient_start":"5","gradient_stop":"32","gradient_position":"12","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"2","shapes_arc_position":"13","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#000000","shapes_star_transparent":false,"shapes_star_width":"4","shapes_star_spikes":"2","shapes_star_inner":"0","shapes_star_outer":"10","shapes_star_fill":false,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_color":"#e10000","border_alt_color":"#ffffff","shapes_arc_color":"#333333","shapes_arc_transparent":false,"shapes_overlay_type":"earth1","shapes_overlay_base64":""},"blueball":{"modify":false,"color":"#005f8c","size":"15","opacity":"100","gradient":false,"gradient_color":"#000000","gradient_start":"5","gradient_stop":"32","gradient_position":"12","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"2","shapes_arc_position":"13","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#000000","shapes_star_transparent":false,"shapes_star_width":"4","shapes_star_spikes":"2","shapes_star_inner":"0","shapes_star_outer":"10","shapes_star_fill":false,"shapes_star_fill_color":"#000000","shapes_overlay":false,"shapes_overlay_transparency":"20","border_color":"#0080c0","border_alt_color":"#ffffff","shapes_arc_color":"#000000","shapes_arc_transparent":false,"shapes_overlay_type":"earth1","shapes_overlay_base64":""}},
'Electric+': {"gameoptions":{"ball_transparency":"0","fading_splats":false,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff71ff","red_opacity":"60","blue_color":"#00ffff","blue_opacity":"70","radius":"60","below":true},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"team","gradient_preset":"redblue","color":"#000040","color1":"#d500d5","color2":"#00c4c4","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"/textures/electric/tiles.png","speedpad":"/textures/electric/speedpad.png","speedpadRed":"/textures/electric/speedpadred.png","speedpadBlue":"/textures/electric/speedpadblue.png","portal":"/textures/electric/portal.png","splats":"https://i.imgur.com/wxJ2ImS.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#333333","tint_opacity":"0","random":false,"random_saturation":"20","random_brightness":"75","nofloor":false,"specks":false,"specks_color":"#4b4b4b","specks_length":"3","specks_width":"1","specks_angle":"0","specks_count":"40","specks_opacity":"-20","image":false,"image_floor":true,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"30","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"1","image_walls":true,"image_walls_brightness":"65","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"40","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"1","hexagons":false,"hexagons_size":"86","hexagons_linewidth":"1","hexagons_margin":"4","hexagons_blur":"0","hexagons_stroke":false,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"75","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"20","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"10","checkered_random":false,"grids_square":true,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#939393","grids_square_linewidth":"2","grids_square_opacity":"33","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#ffffff","grids_diagonal":false,"grids_diagonal_size":"120","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#b1b1b1","gradient_color2":"#000000","gradient_opacity1":"39","gradient_opacity2":"64","gradient_type":"centercircle","gradient_repeats":"2","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"35","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":false,"centerline_color":"#80ff00","centerline_width":"1","centerline_dashsize":"14","centerline_opacity":"65","circle":true,"circle_red_color":"#ff71ff","circle_blue_color":"#00ffff","circle_yellow_color":"#ffff00","circle_width":"57","circle_radius":"350","circle_opacity":"30","circle_gradient":true,"circle_dashsize":"0","octagon":true,"octagon_red_color":"#ff71ff","octagon_blue_color":"#00ffff","octagon_yellow_color":"#ffff00","octagon_width":"2","octagon_radius":"325","octagon_opacity":"40","octagon_sides":"80","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#ffffff","specks_length":"1","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":false,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"10","checkered_random":false,"grids_square":true,"grids_square_size":"5","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"10","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"20","grids_diagonal_dashed":"0","grids_diagonal_blur":"1","gradient":false,"gradient_color1":"#cccccc","gradient_color2":"#525252","gradient_opacity1":"50","gradient_opacity2":"50","gradient_type":"randomcircles","gradient_repeats":"40","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"25","splotches_color_saturation":"70","splotches_color_brightness":"60","separatelayer":false},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"40","boosts_red_opacity":"25","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"40","boosts_blue_opacity":"25","boosts_yellow":false,"boosts_yellow_color":"#ffff00","boosts_yellow_radius":"40","boosts_yellow_opacity":"30","flags_red":false,"flags_red_color":"#ff4040","flags_red_radius":"125","flags_red_opacity":"35","flags_blue":false,"flags_blue_color":"#5555ff","flags_blue_radius":"125","flags_blue_opacity":"35","flags_yellow":false,"flags_yellow_color":"#ffff80","flags_yellow_radius":"100","flags_yellow_opacity":"50","spikes":false,"spikes_color":"#80ffff","spikes_radius":"16","spikes_opacity":"100","bombs":false,"bombs_color":"#bb00bb","bombs_radius":"20","bombs_opacity":"75","pups":true,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"15"},"spikes":{"modify":false,"color":"#ffffff","opacity":"25","brightness":"149","contrast":"132","sepia":"0","shadow":false,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":false,"color":"#ffffff","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":false,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50"},"gates":{"neutral":false,"neutral_fill":false,"neutral_fill_color":"#000000","neutral_fill_opacity":"30","neutral_fill_margin":"0","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":true,"neutral_border_color":"#5b5b5b","neutral_border_linewidth":"2","neutral_border_margin":"4","neutral_cross":true,"neutral_cross_color":"#5b5b5b","neutral_cross_opacity":"100","neutral_cross_linewidth":"1","neutral_cross_margin":"8","green":false,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"25","green_fill_margin":"1","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":true,"green_border_color":"#00ff00","green_border_linewidth":"2","green_border_margin":"2","green_cross":true,"green_cross_color":"#00ff00","green_cross_opacity":"100","green_cross_linewidth":"2","green_cross_margin":"10","red":false,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"25","red_fill_margin":"1","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":true,"red_border_color":"#ff0000","red_border_linewidth":"2","red_border_margin":"2","red_cross":true,"red_cross_color":"#ff0000","red_cross_opacity":"100","red_cross_linewidth":"2","red_cross_margin":"10","blue":false,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"25","blue_fill_margin":"1","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":true,"blue_border_color":"#0080ff","blue_border_linewidth":"2","blue_border_margin":"2","blue_cross":true,"blue_cross_color":"#0080ff","blue_cross_opacity":"100","blue_cross_linewidth":"2","blue_cross_margin":"10","drawFloorUnderneath":true,"original_margin":"0"},"team":{"modify":true,"red_color":"#ff5eff","blue_color":"#00ffff","yellow_color":"#ffff00","gradient2_red_color":"#ff00ff","gradient2_blue_color":"#00ffff","gradient2_yellow_color":"#ffff00","gradient2_type":"randomcircles","gradient2_opacity1":"20","gradient2_opacity2":"100","gradient2_repeats":"10","gradient2_roundedrect":"3","gradient2_redrawopp":false,"pattern":true,"pattern_size":"4","pattern_margin":"3","pattern_blur":"0","pattern_red_color":"#000000","pattern_blue_color":"#000000","pattern_yellow_color":"#000000","pattern_opacity":"22","pattern_altsides":false,"border":false,"border_size":"0","border_linewidth":"3","border_red_color":"#2c2c2c","border_blue_color":"#2c2c2c","border_yellow_color":"#2c2c2c","border_opacity":"18","brightness":"80","contrast":"85","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"1","gradient2":false,"pattern_fill":true},"endzone":{"modify":true,"red_color":"#ff71ff","blue_color":"#00ffff","opacity":"100","margin":"1","checkered":false,"checkered_size":"20","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":true,"stripes_size":"10","stripes_red_color":"#aa00aa","stripes_blue_color":"#008888","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":false,"color":"#ff0000","size":"10","opacity":"50","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#222222","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"10","opacity":"50","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#ffffff","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'Element++': {"gameoptions":{"ball_transparency":"0","fading_splats":false,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"ellipse","gradient_preset":"light","color":"#000040","color1":"#DDDDDD","color2":"#777777","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"/textures/element/tiles.png","speedpad":"/textures/bold/speedpad.png","speedpadRed":"/textures/bold/speedpadred.png","speedpadBlue":"/textures/bold/speedpadblue.png","portal":"/textures/element/portal.png","splats":"/textures/element/splats.png","gravityWell":"/textures/flat/gravitywell.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#000000","opacity":"50","dashsize":"0","useGradient":true},"floortiles":{"modify":false,"plain":true,"tint_color":"#d8d8d8","tint_opacity":"30","random":false,"random_saturation":"10","random_brightness":"37","nofloor":false,"specks":false,"specks_color":"#b5f788","specks_length":"3","specks_width":"1","specks_angle":"0","specks_count":"10","specks_opacity":"-10","image":false,"image_floor":true,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"30","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"1","image_walls":true,"image_walls_brightness":"65","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"40","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"1","hexagons":false,"hexagons_size":"86","hexagons_linewidth":"1","hexagons_margin":"1","hexagons_blur":"2","hexagons_stroke":false,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"75","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"20","hexagons_fill_gradient":"0","checkered":true,"checkered_size":"40","checkered_margin":"1","checkered_altTintColor":"#004040","checkered_altTintOpacity":"6","checkered_random":false,"grids_square":true,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#000000","grids_square_linewidth":"1","grids_square_opacity":"33","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#535353","grids_diagonal":false,"grids_diagonal_size":"120","grids_diagonal_color":"#000000","grids_diagonal_opacity":"12","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"13","gradient_opacity2":"20","gradient_type":"randomcircles","gradient_repeats":"30","splotches":false,"splotches_color_base":"#80ff80","splotches_color_scheme":"normal","splotches_color_opacity":"10","splotches_color_saturation":"70","splotches_color_brightness":"60","splotches_radius":"110"},"shapes":{"centerline":false,"centerline_color":"#ffffff","centerline_width":"2","centerline_dashsize":"0","centerline_opacity":"50","flagline":false,"flagline_color":"#000000","flagline_width":"1","flagline_dashsize":"10","flagline_opacity":"50","circle":false,"circle_red_color":"#ffffff","circle_blue_color":"#ffffff","circle_yellow_color":"#ffffff","circle_width":"2","circle_radius":"100","circle_opacity":"50","circle_gradient":false,"circle_dashsize":"29","octagon":true,"octagon_red_color":"#ffffff","octagon_blue_color":"#ffffff","octagon_yellow_color":"#ffffff","octagon_width":"2","octagon_radius":"280","octagon_opacity":"50","octagon_sides":"80","octagon_fillopacity":"10","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#4f4f4f","specks_length":"-2","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":true,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"3","checkered_random":false,"grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"5","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"centercircle","gradient_repeats":"20","splotches":false,"splotches_color_base":"#800080","splotches_color_scheme":"triadic","splotches_color_opacity":"80","splotches_color_saturation":"95","splotches_color_brightness":"10","splotches_radius":"110","separatelayer":false},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"40","boosts_red_opacity":"20","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"40","boosts_blue_opacity":"20","boosts_yellow":false,"boosts_yellow_color":"#ffff00","boosts_yellow_radius":"40","boosts_yellow_opacity":"20","flags_red":false,"flags_red_color":"#ffffff","flags_red_radius":"125","flags_red_opacity":"35","flags_blue":false,"flags_blue_color":"#ffffff","flags_blue_radius":"125","flags_blue_opacity":"35","flags_yellow":false,"flags_yellow_color":"#ffffff","flags_yellow_radius":"125","flags_yellow_opacity":"35","spikes":false,"spikes_color":"#ffffff","spikes_radius":"20","spikes_opacity":"65","bombs":false,"bombs_color":"#ffffff","bombs_radius":"20","bombs_opacity":"60","pups":false,"pups_color":"#ffffff","pups_radius":"20","pups_opacity":"60"},"spikes":{"modify":false,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"1","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"60","shapes_star":true,"shapes_star_color":"#414141","shapes_star_width":"1","shapes_star_fill":true,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"16","shapes_star_inner":"4","shapes_star_outer":"17","shapes_star_border":true,"shapes_star_border_color":"#161616","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":true,"shapes_star_border_fill_color":"#595959","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":false,"color":"#ffffff","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":false,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50"},"gates":{"neutral":false,"neutral_fill":true,"neutral_fill_color":"#aeaeae","neutral_fill_opacity":"100","neutral_fill_margin":"0","neutral_pattern":true,"neutral_pattern_color":"#484848","neutral_pattern_opacity":"76","neutral_pattern_size":"40","neutral_pattern_margin":"5","neutral_pattern_linewidth":"2","neutral_pattern_stroke":true,"neutral_pattern_fill":false,"neutral_pattern_pyramid":false,"neutral_border":false,"neutral_border_color":"#9f9f9f","neutral_border_linewidth":"1","neutral_border_margin":"1","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"33","neutral_cross_linewidth":"1","neutral_cross_margin":"14","green":false,"green_fill":true,"green_fill_color":"#00cc00","green_fill_opacity":"100","green_fill_margin":"0","green_pattern":true,"green_pattern_color":"#005e00","green_pattern_opacity":"76","green_pattern_size":"40","green_pattern_margin":"5","green_pattern_linewidth":"2","green_pattern_stroke":true,"green_pattern_fill":false,"green_pattern_pyramid":false,"green_border":false,"green_border_color":"#00ff00","green_border_linewidth":"1","green_border_margin":"1","green_cross":true,"green_cross_color":"#000000","green_cross_opacity":"33","green_cross_linewidth":"1","green_cross_margin":"14","red":false,"red_fill":true,"red_fill_color":"#e60000","red_fill_opacity":"100","red_fill_margin":"0","red_pattern":true,"red_pattern_color":"#770000","red_pattern_opacity":"76","red_pattern_size":"40","red_pattern_margin":"5","red_pattern_linewidth":"2","red_pattern_stroke":true,"red_pattern_fill":false,"red_pattern_pyramid":false,"red_border":false,"red_border_color":"#ff0000","red_border_linewidth":"1","red_border_margin":"1","red_cross":true,"red_cross_color":"#000000","red_cross_opacity":"33","red_cross_linewidth":"1","red_cross_margin":"14","blue":false,"blue_fill":true,"blue_fill_color":"#0074e8","blue_fill_opacity":"100","blue_fill_margin":"0","blue_pattern":true,"blue_pattern_color":"#004080","blue_pattern_opacity":"76","blue_pattern_size":"40","blue_pattern_margin":"5","blue_pattern_linewidth":"2","blue_pattern_stroke":true,"blue_pattern_fill":false,"blue_pattern_pyramid":false,"blue_border":false,"blue_border_color":"#0080ff","blue_border_linewidth":"1","blue_border_margin":"1","blue_cross":true,"blue_cross_color":"#000000","blue_cross_opacity":"33","blue_cross_linewidth":"1","blue_cross_margin":"14","drawFloorUnderneath":true,"original_margin":"1"},"team":{"modify":true,"red_color":"#d50000","blue_color":"#0080c0","yellow_color":"#ffd900","gradient2_red_color":"#ff8080","gradient2_blue_color":"#2291ff","gradient2_yellow_color":"#ffffa4","gradient2_type":"centercircle","gradient2_opacity1":"0","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"2","gradient2_redrawopp":true,"pattern":false,"pattern_size":"10","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080c0","pattern_yellow_color":"#ffff00","pattern_opacity":"40","pattern_altsides":true,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"80","contrast":"100","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"1","gradient2":true,"pattern_fill":false},"endzone":{"modify":true,"red_color":"#ff4040","blue_color":"#5555ff","opacity":"80","margin":"1","checkered":false,"checkered_size":"10","checkered_alt_red_color":"#c13e3e","checkered_alt_blue_color":"#23759c","stripes":true,"stripes_size":"8","stripes_red_color":"#e1e1e1","stripes_blue_color":"#e0e0e0","border":false,"border_size":"1","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":false,"color":"#ff0000","size":"10","opacity":"50","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#222222","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"10","opacity":"50","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#ffffff","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'Flat+': {"gameoptions":{"ball_transparency":"0","fading_splats":true,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"ellipse","gradient_preset":"redblue","color":"#000040","color1":"#555e7f","color2":"#7f7655","bg_random":true,"bg_random_saturation":"33","bg_random_brightness":"50"},"altSpawnShadow":{"modify":true},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"/textures/flat/tiles.png","speedpad":"/textures/flat/speedpad.png","speedpadRed":"/textures/flat/speedpadred.png","speedpadBlue":"/textures/flat/speedpadblue.png","portal":"/textures/flat/portal.png","splats":"/textures/flat/splats.png","gravityWell":"/textures/flat/gravitywell.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":false,"plain":false,"tint_color":"#bebebe","tint_opacity":"50","random":false,"random_saturation":"15","random_brightness":"25","nofloor":false,"specks":false,"specks_color":"#000000","specks_length":"-50","specks_width":"1","specks_angle":"180","specks_count":"15","specks_opacity":"4","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":false,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":false,"hexagons_size":"120","hexagons_linewidth":"1","hexagons_margin":"3","hexagons_blur":"1","hexagons_stroke":false,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"20","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"15","hexagons_fill_gradient":"0","checkered":true,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"4","checkered_random":false,"grids_square":false,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#000000","grids_square_linewidth":"1","grids_square_opacity":"13","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#838383","grids_diagonal":false,"grids_diagonal_size":"80","grids_diagonal_color":"#000000","grids_diagonal_opacity":"10","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#e9e9e9","gradient_opacity1":"30","gradient_opacity2":"0","gradient_type":"centerline","gradient_repeats":"2","splotches":false,"splotches_color_base":"#ff0080","splotches_color_scheme":"triadic","splotches_color_opacity":"25","splotches_color_saturation":"30","splotches_color_brightness":"75"},"shapes":{"centerline":false,"centerline_color":"#000000","centerline_width":"2","centerline_dashsize":"20","centerline_opacity":"80","circle":true,"circle_red_color":"#ff4040","circle_blue_color":"#5555ff","circle_yellow_color":"#ffff00","circle_width":"16","circle_radius":"330","circle_opacity":"50","circle_gradient":true,"circle_dashsize":"0","octagon":false,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff00","octagon_width":"6","octagon_radius":"120","octagon_opacity":"80","octagon_sides":"8","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#ff0000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"50","shadow_include_gates":false,"specks":false,"specks_color":"#ffffff","specks_length":"-2","specks_width":"1","specks_angle":"135","specks_count":"75","specks_opacity":"-35","checkered":false,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#ffffff","checkered_altTintOpacity":"10","checkered_random":false,"grids_square":false,"grids_square_size":"5","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"10","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"centercircle","gradient_repeats":"20","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"65","splotches_color_saturation":"70","splotches_color_brightness":"60","separatelayer":false},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"40","boosts_red_opacity":"15","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"40","boosts_blue_opacity":"15","boosts_yellow":false,"boosts_yellow_color":"#ffff00","boosts_yellow_radius":"40","boosts_yellow_opacity":"15","flags_red":false,"flags_red_color":"#ff4040","flags_red_radius":"125","flags_red_opacity":"15","flags_blue":false,"flags_blue_color":"#5555ff","flags_blue_radius":"125","flags_blue_opacity":"15","flags_yellow":false,"flags_yellow_color":"#ffff80","flags_yellow_radius":"125","flags_yellow_opacity":"25","spikes":false,"spikes_color":"#0d0d0d","spikes_radius":"30","spikes_opacity":"15","bombs":false,"bombs_color":"#bb00bb","bombs_radius":"40","bombs_opacity":"15","pups":false,"pups_color":"#643000","pups_radius":"35","pups_opacity":"15"},"spikes":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"40","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"40"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":true,"shadow_size":"2","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"18"},"gates":{"neutral":false,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"100","neutral_fill_margin":"0","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":false,"neutral_border_color":"#444444","neutral_border_linewidth":"1","neutral_border_margin":"0","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"1","neutral_cross_margin":"0","green":false,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"100","green_fill_margin":"0","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":false,"green_border_color":"#444444","green_border_linewidth":"1","green_border_margin":"0","green_cross":false,"green_cross_color":"#000000","green_cross_opacity":"50","green_cross_linewidth":"1","green_cross_margin":"0","red":false,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"100","red_fill_margin":"0","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":false,"red_border_color":"#444444","red_border_linewidth":"1","red_border_margin":"0","red_cross":false,"red_cross_color":"#000000","red_cross_opacity":"50","red_cross_linewidth":"1","red_cross_margin":"0","blue":false,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"100","blue_fill_margin":"0","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":false,"blue_border_color":"#444444","blue_border_linewidth":"1","blue_border_margin":"0","blue_cross":false,"blue_cross_color":"#000000","blue_cross_opacity":"50","blue_cross_linewidth":"1","blue_cross_margin":"0","drawFloorUnderneath":true,"original_margin":"0"},"team":{"modify":false,"red_color":"#d88d8d","blue_color":"#95caff","yellow_color":"#ffffa8","gradient2_red_color":"#ff4040","gradient2_blue_color":"#5555ff","gradient2_yellow_color":"#ffff00","gradient2_type":"diagonal","gradient2_opacity1":"100","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":true,"pattern_size":"5","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#000000","pattern_blue_color":"#000000","pattern_yellow_color":"#000000","pattern_opacity":"15","pattern_altsides":false,"border":false,"border_size":"10","border_linewidth":"1","border_red_color":"#000000","border_blue_color":"#000000","border_yellow_color":"#000000","border_opacity":"20","brightness":"100","contrast":"100","sepia":"0","opacity":"65","margin":"2","drawFloorUnderneath":true,"original_margin":"2","gradient2":true,"pattern_fill":true},"endzone":{"modify":false,"red_color":"#ff4040","blue_color":"#5555ff","opacity":"100","margin":"0","checkered":true,"checkered_size":"20","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":false,"stripes_size":"20","stripes_red_color":"#888888","stripes_blue_color":"#888888","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"5"},"redball":{"modify":false,"color":"#d70000","size":"0","opacity":"100","gradient":false,"gradient_color":"#550000","gradient_start":"5","gradient_stop":"25","gradient_position":"20","border_width":"19","border_segments":"2","shapes_arc":true,"shapes_arc_width":"2","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":true,"shapes_star_width":"2","shapes_star_spikes":"2","shapes_star_inner":"0","shapes_star_outer":"20","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ff1111","border_color":"#b90000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#ff8c8c"},"blueball":{"modify":false,"color":"#4a4aff","size":"0","opacity":"100","gradient":false,"gradient_color":"#000055","gradient_start":"5","gradient_stop":"25","gradient_position":"20","border_width":"19","border_segments":"2","shapes_arc":true,"shapes_arc_width":"2","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":true,"shapes_star_width":"2","shapes_star_spikes":"2","shapes_star_inner":"0","shapes_star_outer":"20","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#6f6fff","border_color":"#4646ff","shapes_arc_color":"#9f9fff","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'MCG+': {"gameoptions":{"ball_transparency":"0","fading_splats":false,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"ellipse","gradient_preset":"orange","color":"#000040","color1":"#7f734c","color2":"#4c587f","bg_random":true,"bg_random_saturation":"40","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"https://i.imgur.com/CKq3oqn.png","speedpad":"/textures/crystal/speedpad.png","speedpadRed":"/textures/crystal/speedpadred.png","speedpadBlue":"/textures/crystal/speedpadblue.png","portal":"/textures/starlight/portal.png","splats":"/textures/musclescupgradients/splats.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":false,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#333333","tint_opacity":"0","random":false,"random_saturation":"10","random_brightness":"80","nofloor":true,"specks":false,"specks_color":"#4b4b4b","specks_length":"3","specks_width":"1","specks_angle":"0","specks_count":"40","specks_opacity":"-20","image":false,"image_floor":true,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"30","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"1","image_walls":true,"image_walls_brightness":"65","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"40","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"1","hexagons":false,"hexagons_size":"86","hexagons_linewidth":"1","hexagons_margin":"4","hexagons_blur":"0","hexagons_stroke":false,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"75","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"20","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"10","checkered_random":false,"grids_square":true,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#000000","grids_square_linewidth":"2","grids_square_opacity":"33","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":true,"grids_square_altColor":"#ffffff","grids_diagonal":false,"grids_diagonal_size":"120","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"12","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#595959","gradient_color2":"#000000","gradient_opacity1":"39","gradient_opacity2":"49","gradient_type":"centercircle","gradient_repeats":"2","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"35","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":false,"centerline_color":"#80ff00","centerline_width":"1","centerline_dashsize":"14","centerline_opacity":"65","circle":false,"circle_red_color":"#ff4040","circle_blue_color":"#5555ff","circle_yellow_color":"#ffff00","circle_width":"20","circle_radius":"350","circle_opacity":"50","circle_gradient":true,"circle_dashsize":"0","octagon":false,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff00","octagon_width":"4","octagon_radius":"332","octagon_opacity":"40","octagon_sides":"80","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#ffffff","specks_length":"1","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":true,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"2","checkered_random":false,"grids_square":false,"grids_square_size":"5","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"10","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"centercircle","gradient_repeats":"20","splotches":false,"splotches_color_base":"#8b0000","splotches_color_scheme":"normal","splotches_color_opacity":"65","splotches_color_saturation":"70","splotches_color_brightness":"60","separatelayer":false},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"40","boosts_red_opacity":"25","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"40","boosts_blue_opacity":"25","boosts_yellow":false,"boosts_yellow_color":"#ffff00","boosts_yellow_radius":"40","boosts_yellow_opacity":"30","flags_red":false,"flags_red_color":"#ff4040","flags_red_radius":"125","flags_red_opacity":"35","flags_blue":false,"flags_blue_color":"#5555ff","flags_blue_radius":"125","flags_blue_opacity":"35","flags_yellow":false,"flags_yellow_color":"#ffff80","flags_yellow_radius":"100","flags_yellow_opacity":"50","spikes":false,"spikes_color":"#ffffff","spikes_radius":"20","spikes_opacity":"100","bombs":false,"bombs_color":"#bb00bb","bombs_radius":"20","bombs_opacity":"75","pups":false,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"15"},"spikes":{"modify":false,"color":"#8000ff","opacity":"5","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":false,"color":"#ffffff","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":false,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50"},"gates":{"neutral":false,"neutral_fill":false,"neutral_fill_color":"#000000","neutral_fill_opacity":"30","neutral_fill_margin":"0","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":true,"neutral_border_color":"#8b8b8b","neutral_border_linewidth":"1","neutral_border_margin":"3","neutral_cross":true,"neutral_cross_color":"#5b5b5b","neutral_cross_opacity":"25","neutral_cross_linewidth":"1","neutral_cross_margin":"16","green":false,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"25","green_fill_margin":"1","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":true,"green_border_color":"#00ff00","green_border_linewidth":"2","green_border_margin":"2","green_cross":true,"green_cross_color":"#00ff00","green_cross_opacity":"100","green_cross_linewidth":"2","green_cross_margin":"10","red":false,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"25","red_fill_margin":"1","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":true,"red_border_color":"#ff0000","red_border_linewidth":"2","red_border_margin":"2","red_cross":true,"red_cross_color":"#ff0000","red_cross_opacity":"100","red_cross_linewidth":"2","red_cross_margin":"10","blue":false,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"25","blue_fill_margin":"1","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":true,"blue_border_color":"#0080ff","blue_border_linewidth":"2","blue_border_margin":"2","blue_cross":true,"blue_cross_color":"#0080ff","blue_cross_opacity":"100","blue_cross_linewidth":"2","blue_cross_margin":"10","drawFloorUnderneath":false,"original_margin":"0"},"team":{"modify":true,"red_color":"#ff4646","blue_color":"#84c1ff","yellow_color":"#ffff00","gradient2_red_color":"#cc0000","gradient2_blue_color":"#5555ff","gradient2_yellow_color":"#b3b300","gradient2_type":"diagonal","gradient2_opacity1":"100","gradient2_opacity2":"100","gradient2_repeats":"2","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":false,"pattern_size":"5","pattern_margin":"8","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080ff","pattern_yellow_color":"#ffff00","pattern_opacity":"100","pattern_altsides":false,"border":false,"border_size":"3","border_linewidth":"1","border_red_color":"#2c2c2c","border_blue_color":"#2c2c2c","border_yellow_color":"#2c2c2c","border_opacity":"100","brightness":"75","contrast":"80","sepia":"0","opacity":"45","margin":"2","drawFloorUnderneath":true,"original_margin":"0","gradient2":true,"pattern_fill":true},"endzone":{"modify":true,"red_color":"#ff4040","blue_color":"#5555ff","opacity":"65","margin":"0","checkered":true,"checkered_size":"20","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":false,"stripes_size":"20","stripes_red_color":"#888888","stripes_blue_color":"#888888","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":false,"color":"#ff0000","size":"10","opacity":"50","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#222222","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"10","opacity":"50","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#ffffff","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'MCG+2': {"gameoptions":{"ball_transparency":"0","fading_splats":false,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"circle","gradient_preset":"dark","color":"#000040","color1":"#222222","color2":"#090909","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"https://i.imgur.com/CKq3oqn.png","speedpad":"/textures/crystal/speedpad.png","speedpadRed":"/textures/crystal/speedpadred.png","speedpadBlue":"/textures/crystal/speedpadblue.png","portal":"/textures/starlight/portal.png","splats":"/textures/musclescupgradients/splats.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":false,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#333333","tint_opacity":"0","random":true,"random_saturation":"30","random_brightness":"40","nofloor":false,"specks":false,"specks_color":"#4b4b4b","specks_length":"3","specks_width":"1","specks_angle":"0","specks_count":"40","specks_opacity":"-20","image":false,"image_floor":true,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"30","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"1","image_walls":true,"image_walls_brightness":"65","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"40","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"1","hexagons":false,"hexagons_size":"86","hexagons_linewidth":"1","hexagons_margin":"4","hexagons_blur":"0","hexagons_stroke":false,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"75","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"20","hexagons_fill_gradient":"0","checkered":true,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"10","checkered_random":false,"grids_square":true,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#c0c0c0","grids_square_linewidth":"1","grids_square_opacity":"33","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#ffffff","grids_diagonal":false,"grids_diagonal_size":"120","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"12","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"20","gradient_opacity2":"10","gradient_type":"randomcircles","gradient_repeats":"40","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"35","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":false,"centerline_color":"#ffffff","centerline_width":"3","centerline_dashsize":"0","centerline_opacity":"25","circle":false,"circle_red_color":"#ffcece","circle_blue_color":"#ccccff","circle_yellow_color":"#ffffce","circle_width":"8","circle_radius":"280","circle_opacity":"25","circle_gradient":false,"circle_dashsize":"0","octagon":false,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff00","octagon_width":"4","octagon_radius":"332","octagon_opacity":"40","octagon_sides":"80","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"70","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"50","shadow_include_gates":false,"specks":false,"specks_color":"#ffffff","specks_length":"-2","specks_width":"1","specks_angle":"135","specks_count":"75","specks_opacity":"-35","checkered":false,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#ffffff","checkered_altTintOpacity":"10","checkered_random":false,"grids_square":false,"grids_square_size":"5","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"10","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"centercircle","gradient_repeats":"20","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"65","splotches_color_saturation":"70","splotches_color_brightness":"60","separatelayer":false},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"40","boosts_red_opacity":"20","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"40","boosts_blue_opacity":"20","boosts_yellow":false,"boosts_yellow_color":"#ffff00","boosts_yellow_radius":"40","boosts_yellow_opacity":"20","flags_red":false,"flags_red_color":"#ff4040","flags_red_radius":"125","flags_red_opacity":"35","flags_blue":false,"flags_blue_color":"#5555ff","flags_blue_radius":"125","flags_blue_opacity":"35","flags_yellow":false,"flags_yellow_color":"#ffff80","flags_yellow_radius":"100","flags_yellow_opacity":"50","spikes":false,"spikes_color":"#00ff40","spikes_radius":"20","spikes_opacity":"30","bombs":false,"bombs_color":"#ffffff","bombs_radius":"20","bombs_opacity":"60","pups":false,"pups_color":"#ffffff","pups_radius":"20","pups_opacity":"60"},"spikes":{"modify":true,"color":"#ffffff","opacity":"80","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":false,"color":"#ffffff","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":false,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50"},"gates":{"neutral":true,"neutral_fill":false,"neutral_fill_color":"#a2a2a2","neutral_fill_opacity":"100","neutral_fill_margin":"1","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":true,"neutral_border_color":"#999999","neutral_border_linewidth":"2","neutral_border_margin":"3","neutral_cross":true,"neutral_cross_color":"#c0c0c0","neutral_cross_opacity":"50","neutral_cross_linewidth":"1","neutral_cross_margin":"12","green":false,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"25","green_fill_margin":"1","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":true,"green_border_color":"#00ff00","green_border_linewidth":"2","green_border_margin":"2","green_cross":true,"green_cross_color":"#00ff00","green_cross_opacity":"100","green_cross_linewidth":"2","green_cross_margin":"10","red":false,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"25","red_fill_margin":"1","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":true,"red_border_color":"#ff0000","red_border_linewidth":"2","red_border_margin":"2","red_cross":true,"red_cross_color":"#ff0000","red_cross_opacity":"100","red_cross_linewidth":"2","red_cross_margin":"10","blue":false,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"25","blue_fill_margin":"1","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":true,"blue_border_color":"#0080ff","blue_border_linewidth":"2","blue_border_margin":"2","blue_cross":true,"blue_cross_color":"#0080ff","blue_cross_opacity":"100","blue_cross_linewidth":"2","blue_cross_margin":"10","drawFloorUnderneath":true,"original_margin":"0"},"team":{"modify":true,"red_color":"#d50000","blue_color":"#0080c0","yellow_color":"#ffff00","gradient2_red_color":"#ff8080","gradient2_blue_color":"#71a6ff","gradient2_yellow_color":"#ffffa4","gradient2_type":"diagonal","gradient2_opacity1":"35","gradient2_opacity2":"65","gradient2_repeats":"44","gradient2_roundedrect":"0","gradient2_redrawopp":true,"pattern":false,"pattern_size":"10","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080c0","pattern_yellow_color":"#ffff00","pattern_opacity":"40","pattern_altsides":true,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"80","contrast":"100","sepia":"0","opacity":"70","margin":"0","drawFloorUnderneath":true,"original_margin":"0","gradient2":true,"pattern_fill":false},"endzone":{"modify":true,"red_color":"#ff4040","blue_color":"#5555ff","opacity":"65","margin":"0","checkered":true,"checkered_size":"20","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":false,"stripes_size":"20","stripes_red_color":"#888888","stripes_blue_color":"#888888","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":false,"color":"#ff0000","size":"10","opacity":"50","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#222222","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"10","opacity":"50","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#ffffff","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'MLTP+': {"gameoptions":{"ball_transparency":"0","fading_splats":true,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"ellipse","gradient_preset":"red","color":"#000040","color1":"#554444","color2":"#552222","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#80ff80","line_opacity":"100","line_width":"2","line_radius":"20","fill_color":"#80ff80","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"50","line_width":"1","line_radius":"19","fill_color":"#ffff00","fill_opacity":"75","speed":"60"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"/textures/mltplive/tiles.png","speedpad":"/textures/crystal/speedpad.png","speedpadRed":"/textures/crystal/speedpadred.png","speedpadBlue":"/textures/crystal/speedpadblue.png","portal":"/textures/mltplive/portal.png","splats":"/textures/mltplive/splats.png","gravityWell":"/textures/flat/gravitywell.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#e0e0e0","tint_opacity":"60","random":false,"random_saturation":"15","random_brightness":"25","nofloor":false,"specks":false,"specks_color":"#969696","specks_length":"-50","specks_width":"1","specks_angle":"0","specks_count":"15","specks_opacity":"7","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":false,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":false,"hexagons_size":"100","hexagons_linewidth":"1","hexagons_margin":"1","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#c1c1c1","hexagons_stroke_opacity":"50","hexagons_stroke_gradient":"20","hexagons_fill":false,"hexagons_fill_color":"#2a2a2a","hexagons_fill_opacity":"40","hexagons_fill_gradient":"31","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"10","checkered_random":false,"grids_square":true,"grids_square_size":"80","grids_square_margin":"2","grids_square_color":"#000000","grids_square_linewidth":"1","grids_square_opacity":"10","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":true,"grids_square_altColor":"#838383","grids_diagonal":false,"grids_diagonal_size":"80","grids_diagonal_color":"#000000","grids_diagonal_opacity":"6","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"25","gradient_opacity2":"10","gradient_type":"centerline","gradient_repeats":"2","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"35","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":false,"centerline_color":"#ffff00","centerline_width":"1","centerline_dashsize":"12","centerline_opacity":"80","circle":true,"circle_red_color":"#ff4040","circle_blue_color":"#5555ff","circle_yellow_color":"#ffff00","circle_width":"5","circle_radius":"250","circle_opacity":"50","circle_gradient":false,"circle_dashsize":"0","octagon":false,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff00","octagon_width":"6","octagon_radius":"120","octagon_opacity":"50","octagon_sides":"8","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"800","cross_opacity":"60","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#000000","specks_length":"-2","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":true,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"3","checkered_random":false,"grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#cccccc","gradient_color2":"#525252","gradient_opacity1":"50","gradient_opacity2":"50","gradient_type":"centercircle","gradient_repeats":"10","splotches":false,"splotches_color_base":"#8b0000","splotches_color_scheme":"normal","splotches_color_opacity":"65","splotches_color_saturation":"70","splotches_color_brightness":"60","separatelayer":false},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"100","boosts_red_opacity":"15","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"100","boosts_blue_opacity":"15","boosts_yellow":false,"boosts_yellow_color":"#ffff80","boosts_yellow_radius":"100","boosts_yellow_opacity":"10","flags_red":false,"flags_red_color":"#ff4040","flags_red_radius":"200","flags_red_opacity":"15","flags_blue":false,"flags_blue_color":"#5555ff","flags_blue_radius":"200","flags_blue_opacity":"15","flags_yellow":false,"flags_yellow_color":"#ffff80","flags_yellow_radius":"200","flags_yellow_opacity":"10","spikes":false,"spikes_color":"#bbbbbb","spikes_radius":"17","spikes_opacity":"50","bombs":false,"bombs_color":"#fda2ef","bombs_radius":"21","bombs_opacity":"50","pups":false,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"30"},"spikes":{"modify":true,"color":"#ff8877","opacity":"10","brightness":"110","contrast":"100","sepia":"20","shadow":true,"shadow_size":"2","shadow_blur":"2","shadow_color":"#000000","shadow_opacity":"50","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":true,"color":"#8000ff","opacity":"10","brightness":"125","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"2","shadow_color":"#000000","shadow_opacity":"60"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":true,"shadow_size":"2","shadow_blur":"2","shadow_color":"#000000","shadow_opacity":"60"},"gates":{"neutral":false,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"100","neutral_fill_margin":"0","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":false,"neutral_border_color":"#444444","neutral_border_linewidth":"1","neutral_border_margin":"0","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"1","neutral_cross_margin":"0","green":false,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"100","green_fill_margin":"0","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":false,"green_border_color":"#444444","green_border_linewidth":"1","green_border_margin":"0","green_cross":false,"green_cross_color":"#000000","green_cross_opacity":"50","green_cross_linewidth":"1","green_cross_margin":"0","red":false,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"100","red_fill_margin":"0","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":false,"red_border_color":"#444444","red_border_linewidth":"1","red_border_margin":"0","red_cross":false,"red_cross_color":"#000000","red_cross_opacity":"50","red_cross_linewidth":"1","red_cross_margin":"0","blue":false,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"100","blue_fill_margin":"0","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":false,"blue_border_color":"#444444","blue_border_linewidth":"1","blue_border_margin":"0","blue_cross":false,"blue_cross_color":"#000000","blue_cross_opacity":"50","blue_cross_linewidth":"1","blue_cross_margin":"0","drawFloorUnderneath":false,"original_margin":"0"},"team":{"modify":true,"red_color":"#ff4040","blue_color":"#0482ff","yellow_color":"#ffff00","gradient2_red_color":"#6c0000","gradient2_blue_color":"#002953","gradient2_yellow_color":"#979700","gradient2_type":"diagonal","gradient2_opacity1":"100","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":true,"pattern_size":"5","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#000000","pattern_blue_color":"#000000","pattern_yellow_color":"#000000","pattern_opacity":"8","pattern_altsides":false,"border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#000000","border_blue_color":"#000000","border_yellow_color":"#000000","border_opacity":"100","brightness":"60","contrast":"65","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"0","gradient2":false,"pattern_fill":true},"endzone":{"modify":true,"red_color":"#ff9595","blue_color":"#9191ff","opacity":"100","margin":"0","checkered":true,"checkered_size":"20","checkered_alt_red_color":"#e1e1e1","checkered_alt_blue_color":"#e1e1e1","stripes":false,"stripes_size":"8","stripes_red_color":"#b4b4b4","stripes_blue_color":"#b4b4b4","border":false,"border_size":"10","border_linewidth":"1","border_red_color":"#ffffff","border_blue_color":"#000000","border_opacity":"100","border_count":"1","drawFloorUnderneath":false,"original_margin":"0"},"redball":{"modify":false,"color":"#b70000","size":"14","opacity":"65","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"3","border_segments":"8","shapes_arc":true,"shapes_arc_width":"1","shapes_arc_position":"18","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#000000","shapes_star_transparent":false,"shapes_star_width":"4","shapes_star_spikes":"4","shapes_star_inner":"0","shapes_star_outer":"10","shapes_star_fill":false,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffc6c6","border_color":"#ff0000","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"14","opacity":"65","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"3","border_segments":"8","shapes_arc":true,"shapes_arc_width":"1","shapes_arc_position":"18","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"4","shapes_star_spikes":"4","shapes_star_inner":"0","shapes_star_outer":"10","shapes_star_fill":false,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#bfdfff","border_color":"#2b95ff","shapes_arc_color":"#000000","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'Plique+': {"gameoptions":{"ball_transparency":"0","fading_splats":false,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"ellipse","gradient_preset":"blue","color":"#000040","color1":"#3f617f","color2":"#7f5d3f","bg_random":true,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"/textures/plique/tiles.png","speedpad":"/textures/plique/speedpad.png","speedpadRed":"/textures/plique/speedpadred.png","speedpadBlue":"/textures/plique/speedpadblue.png","portal":"/textures/plique/portal.png","splats":"/textures/plique/splats.png","gravityWell":"/textures/sniperpack/gravitywell.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#000000","opacity":"50","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#9b9b9b","tint_opacity":"30","random":false,"random_saturation":"50","random_brightness":"75","nofloor":true,"specks":false,"specks_color":"#c8c8c8","specks_length":"3","specks_width":"1","specks_angle":"0","specks_count":"40","specks_opacity":"-48","image":false,"image_floor":true,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"30","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"1","image_walls":true,"image_walls_brightness":"65","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"40","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"1","hexagons":false,"hexagons_size":"86","hexagons_linewidth":"1","hexagons_margin":"4","hexagons_blur":"0","hexagons_stroke":false,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"75","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"20","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"5","checkered_random":false,"grids_square":false,"grids_square_size":"40","grids_square_margin":"2","grids_square_color":"#c0c0c0","grids_square_linewidth":"1","grids_square_opacity":"33","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":true,"grids_square_altColor":"#535353","grids_diagonal":false,"grids_diagonal_size":"120","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"12","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"13","gradient_opacity2":"20","gradient_type":"randomcircles","gradient_repeats":"30","splotches":false,"splotches_color_base":"#80ff80","splotches_color_scheme":"analogous","splotches_color_opacity":"20","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":true,"centerline_color":"#ffffff","centerline_width":"2","centerline_dashsize":"0","centerline_opacity":"50","circle":true,"circle_red_color":"#ffffff","circle_blue_color":"#ffffff","circle_yellow_color":"#ffffff","circle_width":"2","circle_radius":"100","circle_opacity":"50","circle_gradient":false,"circle_dashsize":"29","octagon":true,"octagon_red_color":"#ffffff","octagon_blue_color":"#ffffff","octagon_yellow_color":"#ffffff","octagon_width":"2","octagon_radius":"200","octagon_opacity":"50","octagon_sides":"80","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#4f4f4f","specks_length":"-2","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":true,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"3","checkered_random":false,"grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"5","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"centercircle","gradient_repeats":"20","splotches":false,"splotches_color_base":"#800080","splotches_color_scheme":"triadic","splotches_color_opacity":"80","splotches_color_saturation":"95","splotches_color_brightness":"10","separatelayer":false},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"40","boosts_red_opacity":"20","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"40","boosts_blue_opacity":"20","boosts_yellow":false,"boosts_yellow_color":"#ffff00","boosts_yellow_radius":"40","boosts_yellow_opacity":"20","flags_red":true,"flags_red_color":"#ffffff","flags_red_radius":"125","flags_red_opacity":"35","flags_blue":true,"flags_blue_color":"#ffffff","flags_blue_radius":"125","flags_blue_opacity":"35","flags_yellow":true,"flags_yellow_color":"#ffffff","flags_yellow_radius":"125","flags_yellow_opacity":"35","spikes":true,"spikes_color":"#ffffff","spikes_radius":"20","spikes_opacity":"30","bombs":true,"bombs_color":"#ffffff","bombs_radius":"20","bombs_opacity":"60","pups":false,"pups_color":"#ffffff","pups_radius":"20","pups_opacity":"60"},"spikes":{"modify":false,"color":"#ffffff","opacity":"80","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":false,"color":"#ffffff","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":false,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50"},"gates":{"neutral":false,"neutral_fill":false,"neutral_fill_color":"#a2a2a2","neutral_fill_opacity":"20","neutral_fill_margin":"1","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":true,"neutral_border_color":"#999999","neutral_border_linewidth":"2","neutral_border_margin":"3","neutral_cross":true,"neutral_cross_color":"#c0c0c0","neutral_cross_opacity":"40","neutral_cross_linewidth":"2","neutral_cross_margin":"12","green":false,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"25","green_fill_margin":"1","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":true,"green_border_color":"#00ff00","green_border_linewidth":"2","green_border_margin":"2","green_cross":true,"green_cross_color":"#00ff00","green_cross_opacity":"100","green_cross_linewidth":"2","green_cross_margin":"10","red":false,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"25","red_fill_margin":"1","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":true,"red_border_color":"#ff0000","red_border_linewidth":"2","red_border_margin":"2","red_cross":true,"red_cross_color":"#ff0000","red_cross_opacity":"100","red_cross_linewidth":"2","red_cross_margin":"10","blue":false,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"25","blue_fill_margin":"1","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":true,"blue_border_color":"#0080ff","blue_border_linewidth":"2","blue_border_margin":"2","blue_cross":true,"blue_cross_color":"#0080ff","blue_cross_opacity":"100","blue_cross_linewidth":"2","blue_cross_margin":"10","drawFloorUnderneath":true,"original_margin":"1"},"team":{"modify":false,"red_color":"#ff4646","blue_color":"#84c1ff","yellow_color":"#ffff00","gradient2_red_color":"#ff4040","gradient2_blue_color":"#5555ff","gradient2_yellow_color":"#ffff00","gradient2_type":"diagonal","gradient2_opacity1":"100","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":false,"pattern_size":"5","pattern_margin":"8","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080ff","pattern_yellow_color":"#ffff00","pattern_opacity":"100","pattern_altsides":false,"border":true,"border_size":"3","border_linewidth":"1","border_red_color":"#2c2c2c","border_blue_color":"#2c2c2c","border_yellow_color":"#2c2c2c","border_opacity":"100","brightness":"90","contrast":"80","sepia":"0","opacity":"45","margin":"2","drawFloorUnderneath":true,"original_margin":"1","gradient2":true,"pattern_fill":true},"endzone":{"modify":false,"red_color":"#ff4040","blue_color":"#5555ff","opacity":"65","margin":"0","checkered":true,"checkered_size":"20","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":false,"stripes_size":"20","stripes_red_color":"#888888","stripes_blue_color":"#888888","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"1"},"redball":{"modify":false,"color":"#ff0000","size":"10","opacity":"50","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#222222","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"10","opacity":"50","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#ffffff","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'Sniper+': {"gameoptions":{"ball_transparency":"0","fading_splats":false,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"75"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"none","stretch":true,"gradient_type":"circle","gradient_preset":"blue","color":"#000040","color1":"#222222","color2":"#090909","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"19","fill_color":"#00ff00","fill_opacity":"15"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"0","line_width":"0","line_radius":"19","fill_color":"#ffff00","fill_opacity":"75","speed":"150"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"8","y":"32","radius":"5"},"textures":{"tiles":"/textures/sniperpack/tiles.png","speedpad":"http://i.imgur.com/6h2Fna8.png","speedpadRed":"http://i.imgur.com/pF4l9SO.png","speedpadBlue":"http://i.imgur.com/NlepAuW.png","portal":"http://i.imgur.com/rGEEQ2s.png","splats":"http://i.imgur.com/GObCQoT.png","gravityWell":"/textures/sniperpack/gravitywell.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":false,"plain":false,"tint_color":"#000000","tint_opacity":"40","random":false,"random_saturation":"56","random_brightness":"25","nofloor":false,"specks":false,"specks_color":"#000000","specks_length":"-2","specks_width":"1","specks_angle":"0","specks_count":"15","specks_opacity":"-23","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":false,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":false,"hexagons_size":"100","hexagons_linewidth":"1","hexagons_margin":"2","hexagons_blur":"1","hexagons_stroke":true,"hexagons_stroke_color":"#000000","hexagons_stroke_opacity":"25","hexagons_stroke_gradient":"0","hexagons_fill":false,"hexagons_fill_color":"#ffffff","hexagons_fill_opacity":"25","hexagons_fill_gradient":"0","checkered":true,"checkered_size":"20","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"5","checkered_random":true,"grids_square":false,"grids_square_size":"80","grids_square_margin":"0","grids_square_color":"#000000","grids_square_linewidth":"1","grids_square_opacity":"25","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"120","grids_diagonal_color":"#000000","grids_diagonal_opacity":"10","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#808080","gradient_opacity1":"30","gradient_opacity2":"7","gradient_type":"centerline","gradient_repeats":"2","splotches":false,"splotches_color_base":"#80ffff","splotches_color_scheme":"complementary","splotches_color_opacity":"25","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":true,"centerline_color":"#454545","centerline_width":"1","centerline_dashsize":"5","centerline_opacity":"100","circle":true,"circle_red_color":"#ff4040","circle_blue_color":"#5555ff","circle_yellow_color":"#ffff80","circle_width":"3","circle_radius":"228","circle_opacity":"50","circle_gradient":false,"circle_dashsize":"0","octagon":true,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff80","octagon_width":"3","octagon_radius":"222","octagon_opacity":"50","octagon_sides":"100","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff80","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#ffff80","opacity":"5","brightness":"200","contrast":"115","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"5","shadow_opacity":"55","shadow_include_gates":false,"specks":false,"specks_color":"#ffffff","specks_length":"-2","specks_width":"1","specks_angle":"135","specks_count":"75","specks_opacity":"-35","checkered":false,"checkered_size":"10","checkered_margin":"0","checkered_altTintColor":"#ffffff","checkered_altTintOpacity":"2","checkered_random":true,"grids_square":false,"grids_square_size":"5","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"10","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"0","gradient_opacity2":"12","gradient_type":"centercircle","gradient_repeats":"20","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"65","splotches_color_saturation":"70","splotches_color_brightness":"60","separatelayer":false},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"100","boosts_red_opacity":"15","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"100","boosts_blue_opacity":"15","boosts_yellow":false,"boosts_yellow_color":"#ffff80","boosts_yellow_radius":"100","boosts_yellow_opacity":"10","flags_red":false,"flags_red_color":"#ff4040","flags_red_radius":"200","flags_red_opacity":"15","flags_blue":false,"flags_blue_color":"#5555ff","flags_blue_radius":"200","flags_blue_opacity":"15","flags_yellow":false,"flags_yellow_color":"#ffff80","flags_yellow_radius":"200","flags_yellow_opacity":"10","spikes":false,"spikes_color":"#bbbbbb","spikes_radius":"30","spikes_opacity":"15","bombs":false,"bombs_color":"#bb00bb","bombs_radius":"30","bombs_opacity":"20","pups":false,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"30"},"spikes":{"modify":true,"color":"#ffffff","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"60","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":true,"color":"#000000","opacity":"0","brightness":"115","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"60"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":true,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"60"},"gates":{"neutral":true,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"100","neutral_fill_margin":"0","neutral_pattern":true,"neutral_pattern_color":"#707070","neutral_pattern_opacity":"40","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":true,"neutral_border":false,"neutral_border_color":"#444444","neutral_border_linewidth":"1","neutral_border_margin":"0","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"1","neutral_cross_margin":"0","green":false,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"100","green_fill_margin":"0","green_pattern":true,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":false,"green_border_color":"#444444","green_border_linewidth":"1","green_border_margin":"0","green_cross":false,"green_cross_color":"#000000","green_cross_opacity":"50","green_cross_linewidth":"1","green_cross_margin":"0","red":false,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"100","red_fill_margin":"0","red_pattern":true,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":false,"red_border_color":"#444444","red_border_linewidth":"1","red_border_margin":"0","red_cross":false,"red_cross_color":"#000000","red_cross_opacity":"50","red_cross_linewidth":"1","red_cross_margin":"0","blue":false,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"100","blue_fill_margin":"0","blue_pattern":true,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":false,"blue_border_color":"#444444","blue_border_linewidth":"1","blue_border_margin":"0","blue_cross":false,"blue_cross_color":"#000000","blue_cross_opacity":"50","blue_cross_linewidth":"1","blue_cross_margin":"0","drawFloorUnderneath":true,"original_margin":"1"},"team":{"modify":true,"red_color":"#ff4040","blue_color":"#0065ca","yellow_color":"#ffff00","gradient2_red_color":"#6c0000","gradient2_blue_color":"#002953","gradient2_yellow_color":"#979700","gradient2_type":"diagonal","gradient2_opacity1":"100","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":false,"pattern_size":"5","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#000000","pattern_blue_color":"#000000","pattern_yellow_color":"#000000","pattern_opacity":"50","pattern_altsides":false,"border":true,"border_size":"40","border_linewidth":"1","border_red_color":"#000000","border_blue_color":"#000000","border_yellow_color":"#000000","border_opacity":"100","brightness":"100","contrast":"100","sepia":"0","opacity":"70","margin":"0","drawFloorUnderneath":true,"original_margin":"2","pattern_fill":true,"gradient2":true},"endzone":{"modify":false,"red_color":"#d50000","blue_color":"#5555ff","opacity":"100","margin":"0","checkered":true,"checkered_size":"20","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":false,"stripes_size":"20","stripes_red_color":"#888888","stripes_blue_color":"#888888","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":false,"color":"#ff0000","size":"19","opacity":"100","gradient":false,"gradient_color":"#000000","gradient_start":"5","gradient_stop":"25","gradient_position":"20","border_width":"0","border_segments":"0","shapes_arc":false,"shapes_arc_width":"2","shapes_arc_position":"14","shapes_arc_size":"4","shapes_star":false,"shapes_star_color":"#000000","shapes_star_transparent":true,"shapes_star_width":"2","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_fill":true,"shapes_star_fill_color":"#000000","shapes_overlay":false,"shapes_overlay_transparency":"20","border_color":"#000000","border_alt_color":"#000000","shapes_arc_color":"#000000","shapes_arc_transparent":true,"shapes_overlay_type":"earth1","shapes_overlay_base64":""},"blueball":{"modify":false,"color":"#0080ff","size":"19","opacity":"100","gradient":false,"gradient_color":"#000000","gradient_start":"5","gradient_stop":"25","gradient_position":"20","border_width":"0","border_segments":"0","shapes_arc":false,"shapes_arc_width":"2","shapes_arc_position":"14","shapes_arc_size":"4","shapes_star":false,"shapes_star_color":"#000000","shapes_star_transparent":true,"shapes_star_width":"2","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_fill":true,"shapes_star_fill_color":"#000000","shapes_overlay":false,"shapes_overlay_transparency":"20","border_color":"#000000","border_alt_color":"#000000","shapes_arc_color":"#000000","shapes_arc_transparent":true,"shapes_overlay_type":"earth1","shapes_overlay_base64":""}},
'Doodle+': {"gameoptions":{"ball_transparency":"0","fading_splats":false,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"ellipse","gradient_preset":"light","color":"#000040","color1":"#dddddd","color2":"#777777","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"https://i.imgur.com/ZRi5Ov3.png","speedpad":"https://i.imgur.com/aLs3qyH.png","speedpadRed":"https://i.imgur.com/uObyeQ2.png","speedpadBlue":"https://i.imgur.com/Ko9Rea2.png","portal":"https://i.imgur.com/bFYUxzA.png","splats":"https://i.imgur.com/KillvgL.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#000000","opacity":"50","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#f4f4f4","tint_opacity":"30","random":false,"random_saturation":"5","random_brightness":"95","nofloor":false,"specks":false,"specks_color":"#0080ff","specks_length":"3","specks_width":"1","specks_angle":"0","specks_count":"4","specks_opacity":"-35","image":false,"image_floor":true,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"30","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"1","image_walls":true,"image_walls_brightness":"65","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"40","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"1","hexagons":false,"hexagons_size":"86","hexagons_linewidth":"1","hexagons_margin":"1","hexagons_blur":"2","hexagons_stroke":false,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"75","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"20","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"20","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"13","checkered_random":true,"grids_square":true,"grids_square_size":"20","grids_square_margin":"0","grids_square_color":"#0080ff","grids_square_linewidth":"1","grids_square_opacity":"20","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#0000a0","grids_diagonal":false,"grids_diagonal_size":"120","grids_diagonal_color":"#3a3a3a","grids_diagonal_opacity":"12","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"13","gradient_opacity2":"20","gradient_type":"centerline","gradient_repeats":"2","splotches":false,"splotches_color_base":"#ededef","splotches_color_scheme":"triadic","splotches_color_opacity":"30","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":false,"centerline_color":"#ffffff","centerline_width":"2","centerline_dashsize":"0","centerline_opacity":"50","circle":true,"circle_red_color":"#ff0000","circle_blue_color":"#0080ff","circle_yellow_color":"#ffcc00","circle_width":"6","circle_radius":"180","circle_opacity":"17","circle_gradient":false,"circle_dashsize":"16","octagon":false,"octagon_red_color":"#ffffff","octagon_blue_color":"#ffffff","octagon_yellow_color":"#ffffff","octagon_width":"2","octagon_radius":"280","octagon_opacity":"50","octagon_sides":"80","octagon_fillopacity":"30","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#400080","specks_length":"-14","specks_width":"1","specks_angle":"0","specks_count":"88","specks_opacity":"-73","checkered":false,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"5","checkered_random":false,"grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#000000","grids_diagonal_opacity":"5","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"randomcircles","gradient_repeats":"20","splotches":true,"splotches_color_base":"#8080c0","splotches_color_scheme":"analogous","splotches_color_opacity":"20","splotches_color_saturation":"30","splotches_color_brightness":"35","separatelayer":false},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"40","boosts_red_opacity":"20","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"40","boosts_blue_opacity":"20","boosts_yellow":false,"boosts_yellow_color":"#ffff00","boosts_yellow_radius":"40","boosts_yellow_opacity":"20","flags_red":false,"flags_red_color":"#ffffff","flags_red_radius":"19","flags_red_opacity":"60","flags_blue":false,"flags_blue_color":"#ffffff","flags_blue_radius":"19","flags_blue_opacity":"60","flags_yellow":false,"flags_yellow_color":"#ffffff","flags_yellow_radius":"19","flags_yellow_opacity":"60","spikes":false,"spikes_color":"#ffffff","spikes_radius":"17","spikes_opacity":"60","bombs":false,"bombs_color":"#ffffff","bombs_radius":"23","bombs_opacity":"50","pups":false,"pups_color":"#ffffff","pups_radius":"20","pups_opacity":"50"},"spikes":{"modify":false,"color":"#ffffff","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"2","shadow_color":"#000000","shadow_opacity":"50","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":false,"color":"#ffffff","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":false,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50"},"gates":{"neutral":false,"neutral_fill":false,"neutral_fill_color":"#a2a2a2","neutral_fill_opacity":"20","neutral_fill_margin":"5","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":true,"neutral_border_color":"#999999","neutral_border_linewidth":"1","neutral_border_margin":"3","neutral_cross":true,"neutral_cross_color":"#c0c0c0","neutral_cross_opacity":"60","neutral_cross_linewidth":"2","neutral_cross_margin":"10","green":false,"green_fill":true,"green_fill_color":"#00cc00","green_fill_opacity":"20","green_fill_margin":"7","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":true,"green_border_color":"#00ff00","green_border_linewidth":"2","green_border_margin":"2","green_cross":true,"green_cross_color":"#00ff00","green_cross_opacity":"100","green_cross_linewidth":"3","green_cross_margin":"16","red":false,"red_fill":true,"red_fill_color":"#cc0000","red_fill_opacity":"20","red_fill_margin":"7","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":true,"red_border_color":"#ff0000","red_border_linewidth":"2","red_border_margin":"2","red_cross":true,"red_cross_color":"#ff0000","red_cross_opacity":"100","red_cross_linewidth":"3","red_cross_margin":"16","blue":false,"blue_fill":true,"blue_fill_color":"#0080ff","blue_fill_opacity":"20","blue_fill_margin":"7","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":true,"blue_border_color":"#0080ff","blue_border_linewidth":"2","blue_border_margin":"2","blue_cross":true,"blue_cross_color":"#0080ff","blue_cross_opacity":"100","blue_cross_linewidth":"3","blue_cross_margin":"16","drawFloorUnderneath":true,"original_margin":"0"},"team":{"modify":false,"red_color":"#ff4646","blue_color":"#84c1ff","yellow_color":"#fbca04","gradient2_red_color":"#ff4040","gradient2_blue_color":"#5555ff","gradient2_yellow_color":"#ffff00","gradient2_type":"diagonal","gradient2_opacity1":"100","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":false,"pattern_size":"5","pattern_margin":"8","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080ff","pattern_yellow_color":"#ffff00","pattern_opacity":"100","pattern_altsides":false,"border":true,"border_size":"3","border_linewidth":"1","border_red_color":"#2c2c2c","border_blue_color":"#2c2c2c","border_yellow_color":"#2c2c2c","border_opacity":"100","brightness":"90","contrast":"80","sepia":"0","opacity":"80","margin":"0","drawFloorUnderneath":true,"original_margin":"0","gradient2":true,"pattern_fill":true},"endzone":{"modify":false,"red_color":"#c15959","blue_color":"#3f82a9","opacity":"90","margin":"0","checkered":true,"checkered_size":"10","checkered_alt_red_color":"#ffffff","checkered_alt_blue_color":"#ffffff","stripes":false,"stripes_size":"13","stripes_red_color":"#b0b0b0","stripes_blue_color":"#888888","border":false,"border_size":"1","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":false,"color":"#ff0000","size":"10","opacity":"50","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#222222","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"10","opacity":"50","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#ffffff","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'Glow+': {"gameoptions":{"ball_transparency":"0","fading_splats":true,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"team","gradient_preset":"dark","color":"#000040","color1":"#8c8c8c","color2":"#464646","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"https://i.imgur.com/ciiB8Pw.png","speedpad":"https://i.imgur.com/IB95nd5.png","speedpadRed":"https://i.imgur.com/8RgHd1Y.png","speedpadBlue":"https://i.imgur.com/E3gqIdZ.png","portal":"https://i.imgur.com/H1e5f5X.png","splats":"https://i.imgur.com/yMbLHLT.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#060606","tint_opacity":"50","random":false,"random_saturation":"15","random_brightness":"25","nofloor":false,"specks":false,"specks_color":"#008080","specks_length":"-50","specks_width":"1","specks_angle":"90","specks_count":"13","specks_opacity":"-30","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":false,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":false,"hexagons_size":"80","hexagons_linewidth":"1","hexagons_margin":"2","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#454545","hexagons_stroke_opacity":"50","hexagons_stroke_gradient":"0","hexagons_fill":false,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"40","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"22","checkered_margin":"0","checkered_altTintColor":"#80ff00","checkered_altTintOpacity":"5","checkered_random":true,"grids_square":false,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"10","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#2d0059","grids_diagonal":false,"grids_diagonal_size":"160","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#009797","gradient_color2":"#00ffff","gradient_opacity1":"33","gradient_opacity2":"50","gradient_type":"randomsquares","gradient_repeats":"4","splotches":false,"splotches_color_base":"#80ff00","splotches_color_scheme":"analogous","splotches_color_opacity":"30","splotches_color_saturation":"65","splotches_color_brightness":"40","splotches_radius":"110"},"shapes":{"centerline":true,"centerline_color":"#ffff80","centerline_width":"5","centerline_dashsize":"7","centerline_opacity":"50","flagline":false,"flagline_color":"#000000","flagline_width":"1","flagline_dashsize":"10","flagline_opacity":"50","circle":true,"circle_red_color":"#ff0000","circle_blue_color":"#0000ff","circle_yellow_color":"#ffff00","circle_width":"20","circle_radius":"313","circle_opacity":"60","circle_gradient":true,"circle_dashsize":"0","octagon":true,"octagon_red_color":"#ff0000","octagon_blue_color":"#0000ff","octagon_yellow_color":"#ffff00","octagon_width":"3","octagon_radius":"298","octagon_opacity":"60","octagon_sides":"100","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#ffffff","shadow_size":"0","shadow_blur":"7","shadow_opacity":"100","shadow_include_gates":false,"specks":false,"specks_color":"#ffffff","specks_length":"-2","specks_width":"1","specks_angle":"135","specks_count":"75","specks_opacity":"-35","checkered":false,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#ffffff","checkered_altTintOpacity":"10","checkered_random":false,"grids_square":false,"grids_square_size":"5","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"10","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"centercircle","gradient_repeats":"20","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"65","splotches_color_saturation":"70","splotches_color_brightness":"60","splotches_radius":"110","separatelayer":false},"glow":{"boosts_red":true,"boosts_red_color":"#ff4040","boosts_red_radius":"50","boosts_red_opacity":"25","boosts_blue":true,"boosts_blue_color":"#5555ff","boosts_blue_radius":"50","boosts_blue_opacity":"25","boosts_yellow":true,"boosts_yellow_color":"#ffff00","boosts_yellow_radius":"50","boosts_yellow_opacity":"20","flags_red":true,"flags_red_color":"#ff4040","flags_red_radius":"200","flags_red_opacity":"35","flags_blue":true,"flags_blue_color":"#5555ff","flags_blue_radius":"200","flags_blue_opacity":"35","flags_yellow":true,"flags_yellow_color":"#ffff80","flags_yellow_radius":"200","flags_yellow_opacity":"20","spikes":true,"spikes_color":"#ff00ff","spikes_radius":"20","spikes_opacity":"60","bombs":true,"bombs_color":"#8000ff","bombs_radius":"30","bombs_opacity":"35","pups":true,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"30"},"spikes":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"100","shadow":false,"shadow_size":"0","shadow_blur":"3","shadow_color":"#ff80ff","shadow_opacity":"76","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"0","shadow_blur":"3","shadow_color":"#8000ff","shadow_opacity":"81"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":false,"shadow_size":"3","shadow_blur":"2","shadow_color":"#000000","shadow_opacity":"70"},"gates":{"neutral":true,"neutral_fill":false,"neutral_fill_color":"#585858","neutral_fill_opacity":"100","neutral_fill_margin":"8","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":true,"neutral_border_color":"#4a4a4a","neutral_border_linewidth":"2","neutral_border_margin":"2","neutral_cross":false,"neutral_cross_color":"#ffffff","neutral_cross_opacity":"50","neutral_cross_linewidth":"1","neutral_cross_margin":"4","green":false,"green_fill":true,"green_fill_color":"#00c600","green_fill_opacity":"100","green_fill_margin":"5","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":true,"green_border_color":"#00c600","green_border_linewidth":"2","green_border_margin":"2","green_cross":true,"green_cross_color":"#000000","green_cross_opacity":"50","green_cross_linewidth":"1","green_cross_margin":"2","red":false,"red_fill":true,"red_fill_color":"#a60000","red_fill_opacity":"100","red_fill_margin":"5","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":true,"red_border_color":"#a60000","red_border_linewidth":"2","red_border_margin":"2","red_cross":true,"red_cross_color":"#000000","red_cross_opacity":"50","red_cross_linewidth":"1","red_cross_margin":"2","blue":false,"blue_fill":true,"blue_fill_color":"#0000df","blue_fill_opacity":"100","blue_fill_margin":"5","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":true,"blue_border_color":"#0000df","blue_border_linewidth":"2","blue_border_margin":"2","blue_cross":true,"blue_cross_color":"#000000","blue_cross_opacity":"75","blue_cross_linewidth":"1","blue_cross_margin":"2","drawFloorUnderneath":true,"original_margin":"0"},"team":{"modify":true,"red_color":"#d50000","blue_color":"#326aef","yellow_color":"#ffff00","gradient2_red_color":"#000000","gradient2_blue_color":"#000000","gradient2_yellow_color":"#000000","gradient2_type":"diagonal","gradient2_opacity1":"60","gradient2_opacity2":"25","gradient2_repeats":"4","gradient2_roundedrect":"0","gradient2_redrawopp":true,"pattern":false,"pattern_size":"10","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080c0","pattern_yellow_color":"#ffff00","pattern_opacity":"40","pattern_altsides":true,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"80","contrast":"100","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"0","gradient2":true,"pattern_fill":false},"endzone":{"modify":true,"red_color":"#5e0000","blue_color":"#051c50","opacity":"100","margin":"2","checkered":true,"checkered_size":"20","checkered_alt_red_color":"#800000","checkered_alt_blue_color":"#0b2c79","stripes":false,"stripes_size":"13","stripes_red_color":"#000000","stripes_blue_color":"#4f4fff","border":false,"border_size":"37","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"45","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":false,"color":"#b70000","size":"16","opacity":"70","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"3","border_segments":"8","shapes_arc":false,"shapes_arc_width":"1","shapes_arc_position":"18","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#000000","shapes_star_transparent":true,"shapes_star_width":"1","shapes_star_spikes":"4","shapes_star_inner":"0","shapes_star_outer":"4","shapes_star_fill":false,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"16","opacity":"70","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"3","border_segments":"8","shapes_arc":false,"shapes_arc_width":"2","shapes_arc_position":"18","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":true,"shapes_star_width":"1","shapes_star_spikes":"4","shapes_star_inner":"0","shapes_star_outer":"4","shapes_star_fill":false,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#2b95ff","shapes_arc_color":"#414141","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'Next+': {"gameoptions":{"ball_transparency":"0","fading_splats":false,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"ellipse","gradient_preset":"dark","color":"#000040","color1":"#222222","color2":"#090909","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"https://i.imgur.com/m42VjaV.png","speedpad":"https://i.imgur.com/ROXSxpu.png","speedpadRed":"https://i.imgur.com/e80Dnib.png","speedpadBlue":"https://i.imgur.com/TgLFtXs.png","portal":"https://i.imgur.com/gdJfGV9.png","splats":"http://i.imgur.com/GObCQoT.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#000000","opacity":"50","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#9b9b9b","tint_opacity":"30","random":true,"random_saturation":"40","random_brightness":"25","nofloor":false,"specks":true,"specks_color":"#b5f788","specks_length":"3","specks_width":"1","specks_angle":"0","specks_count":"10","specks_opacity":"-10","image":false,"image_floor":true,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"30","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"1","image_walls":true,"image_walls_brightness":"65","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"40","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"1","hexagons":false,"hexagons_size":"86","hexagons_linewidth":"1","hexagons_margin":"1","hexagons_blur":"2","hexagons_stroke":false,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"75","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"20","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"5","checkered_random":false,"grids_square":true,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#282828","grids_square_linewidth":"2","grids_square_opacity":"34","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":true,"grids_square_altColor":"#909090","grids_diagonal":false,"grids_diagonal_size":"120","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"12","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"13","gradient_opacity2":"20","gradient_type":"randomcircles","gradient_repeats":"30","splotches":false,"splotches_color_base":"#ededef","splotches_color_scheme":"triadic","splotches_color_opacity":"30","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":false,"centerline_color":"#ffffff","centerline_width":"2","centerline_dashsize":"0","centerline_opacity":"50","circle":true,"circle_red_color":"#ffffff","circle_blue_color":"#ffffff","circle_yellow_color":"#ffffff","circle_width":"60","circle_radius":"100","circle_opacity":"17","circle_gradient":true,"circle_dashsize":"0","octagon":true,"octagon_red_color":"#ffffff","octagon_blue_color":"#ffffff","octagon_yellow_color":"#ffffff","octagon_width":"2","octagon_radius":"280","octagon_opacity":"50","octagon_sides":"80","octagon_fillopacity":"30","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"60","shadow_include_gates":false,"specks":false,"specks_color":"#4f4f4f","specks_length":"-2","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":false,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"4","checkered_random":false,"grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"3","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"25","gradient_opacity2":"35","gradient_type":"centercircle","gradient_repeats":"20","splotches":false,"splotches_color_base":"#8080c0","splotches_color_scheme":"normal","splotches_color_opacity":"25","splotches_color_saturation":"50","splotches_color_brightness":"30","separatelayer":false},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"40","boosts_red_opacity":"20","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"40","boosts_blue_opacity":"20","boosts_yellow":false,"boosts_yellow_color":"#ffff00","boosts_yellow_radius":"40","boosts_yellow_opacity":"20","flags_red":true,"flags_red_color":"#ffffff","flags_red_radius":"19","flags_red_opacity":"60","flags_blue":true,"flags_blue_color":"#ffffff","flags_blue_radius":"19","flags_blue_opacity":"60","flags_yellow":true,"flags_yellow_color":"#ffffff","flags_yellow_radius":"19","flags_yellow_opacity":"60","spikes":true,"spikes_color":"#ffffff","spikes_radius":"17","spikes_opacity":"60","bombs":true,"bombs_color":"#ffffff","bombs_radius":"23","bombs_opacity":"50","pups":true,"pups_color":"#ffffff","pups_radius":"20","pups_opacity":"50"},"spikes":{"modify":false,"color":"#ffffff","opacity":"80","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":false,"color":"#ffffff","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":false,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50"},"gates":{"neutral":true,"neutral_fill":true,"neutral_fill_color":"#a2a2a2","neutral_fill_opacity":"20","neutral_fill_margin":"5","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":true,"neutral_border_color":"#999999","neutral_border_linewidth":"2","neutral_border_margin":"2","neutral_cross":true,"neutral_cross_color":"#c0c0c0","neutral_cross_opacity":"40","neutral_cross_linewidth":"2","neutral_cross_margin":"10","green":true,"green_fill":true,"green_fill_color":"#00cc00","green_fill_opacity":"25","green_fill_margin":"5","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":true,"green_border_color":"#00ff00","green_border_linewidth":"2","green_border_margin":"2","green_cross":true,"green_cross_color":"#00ff00","green_cross_opacity":"100","green_cross_linewidth":"2","green_cross_margin":"10","red":true,"red_fill":true,"red_fill_color":"#cc0000","red_fill_opacity":"25","red_fill_margin":"5","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":true,"red_border_color":"#ff0000","red_border_linewidth":"2","red_border_margin":"2","red_cross":true,"red_cross_color":"#ff0000","red_cross_opacity":"100","red_cross_linewidth":"2","red_cross_margin":"10","blue":true,"blue_fill":true,"blue_fill_color":"#0080ff","blue_fill_opacity":"25","blue_fill_margin":"5","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":true,"blue_border_color":"#0080ff","blue_border_linewidth":"2","blue_border_margin":"2","blue_cross":true,"blue_cross_color":"#0080ff","blue_cross_opacity":"100","blue_cross_linewidth":"2","blue_cross_margin":"10","drawFloorUnderneath":true,"original_margin":"1"},"team":{"modify":true,"red_color":"#ff4646","blue_color":"#84c1ff","yellow_color":"#fbca04","gradient2_red_color":"#d90000","gradient2_blue_color":"#5555ff","gradient2_yellow_color":"#ffff2d","gradient2_type":"diagonal","gradient2_opacity1":"100","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"2","gradient2_redrawopp":false,"pattern":false,"pattern_size":"5","pattern_margin":"8","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080ff","pattern_yellow_color":"#ffff00","pattern_opacity":"100","pattern_altsides":false,"border":true,"border_size":"3","border_linewidth":"1","border_red_color":"#2c2c2c","border_blue_color":"#2c2c2c","border_yellow_color":"#2c2c2c","border_opacity":"100","brightness":"90","contrast":"80","sepia":"0","opacity":"80","margin":"1","drawFloorUnderneath":true,"original_margin":"1","gradient2":true,"pattern_fill":true},"endzone":{"modify":true,"red_color":"#ff4040","blue_color":"#5555ff","opacity":"80","margin":"1","checkered":true,"checkered_size":"10","checkered_alt_red_color":"#782727","checkered_alt_blue_color":"#0f3344","stripes":false,"stripes_size":"13","stripes_red_color":"#b0b0b0","stripes_blue_color":"#888888","border":false,"border_size":"1","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"1"},"redball":{"modify":false,"color":"#ff0000","size":"10","opacity":"50","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#222222","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"10","opacity":"50","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#ffffff","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'Nilla+': {"gameoptions":{"ball_transparency":"0","fading_splats":false,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"75"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"team","gradient_preset":"blue","color":"#000040","color1":"#444455","color2":"#222255","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"20"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#0080ff","line_opacity":"100","line_width":"2","line_radius":"19","fill_color":"#0080ff","fill_opacity":"15"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"0","line_width":"0","line_radius":"19","fill_color":"#ffff00","fill_opacity":"75","speed":"150"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"8","y":"32","radius":"5"},"textures":{"tiles":"https://i.imgur.com/nP0kYeb.png","speedpad":"https://i.imgur.com/39zXNPL.png","speedpadRed":"https://i.imgur.com/bo4m727.png","speedpadBlue":"https://i.imgur.com/EFk5IgL.png","portal":"https://i.imgur.com/KdEHGtf.png","splats":"http://i.imgur.com/kHUlTwP.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":true,"linewidth":"80","color":"#952bff","opacity":"25","dashsize":"0","useGradient":true},"floortiles":{"modify":false,"plain":false,"tint_color":"#505850","tint_opacity":"50","random":false,"random_saturation":"15","random_brightness":"25","nofloor":false,"specks":false,"specks_color":"#ffffff","specks_length":"1","specks_width":"1","specks_angle":"45","specks_count":"23","specks_opacity":"-50","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":false,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":false,"hexagons_size":"100","hexagons_linewidth":"1","hexagons_margin":"1","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#888888","hexagons_stroke_opacity":"25","hexagons_stroke_gradient":"15","hexagons_fill":false,"hexagons_fill_color":"#ffffff","hexagons_fill_opacity":"25","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"5","checkered_random":false,"grids_square":true,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#000000","grids_square_linewidth":"1","grids_square_opacity":"30","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"40","grids_diagonal_color":"#777777","grids_diagonal_opacity":"50","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#cccccc","gradient_color2":"#d3d3d3","gradient_opacity1":"64","gradient_opacity2":"25","gradient_type":"centerline","gradient_repeats":"2","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"20","splotches_color_saturation":"70","splotches_color_brightness":"60","splotches_radius":"110"},"shapes":{"centerline":true,"centerline_color":"#c0c0c0","centerline_width":"1","centerline_dashsize":"3","centerline_opacity":"60","flagline":false,"flagline_color":"#000000","flagline_width":"1","flagline_dashsize":"10","flagline_opacity":"50","circle":true,"circle_red_color":"#ff4040","circle_blue_color":"#79bcff","circle_yellow_color":"#ffff80","circle_width":"15","circle_radius":"260","circle_opacity":"15","circle_gradient":false,"circle_dashsize":"0","octagon":false,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff80","octagon_width":"6","octagon_radius":"80","octagon_opacity":"80","octagon_sides":"8","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff80","cross_width":"1","cross_radius_inner":"16","cross_radius_outer":"800","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"120","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#ffffff","specks_length":"1","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":false,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"10","checkered_random":false,"grids_square":false,"grids_square_size":"5","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"8","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#cccccc","gradient_color2":"#525252","gradient_opacity1":"8","gradient_opacity2":"50","gradient_type":"randomcircles","gradient_repeats":"40","splotches":false,"splotches_color_base":"#8080c0","splotches_color_scheme":"normal","splotches_color_opacity":"25","splotches_color_saturation":"50","splotches_color_brightness":"30","splotches_radius":"110","separatelayer":false},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"18","boosts_red_opacity":"30","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"18","boosts_blue_opacity":"30","boosts_yellow":false,"boosts_yellow_color":"#ffff80","boosts_yellow_radius":"19","boosts_yellow_opacity":"30","flags_red":false,"flags_red_color":"#ff4040","flags_red_radius":"200","flags_red_opacity":"15","flags_blue":false,"flags_blue_color":"#5555ff","flags_blue_radius":"200","flags_blue_opacity":"15","flags_yellow":false,"flags_yellow_color":"#ffff80","flags_yellow_radius":"200","flags_yellow_opacity":"10","spikes":false,"spikes_color":"#c0c0c0","spikes_radius":"16","spikes_opacity":"100","bombs":false,"bombs_color":"#bb00bb","bombs_radius":"30","bombs_opacity":"20","pups":false,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"30"},"spikes":{"modify":true,"color":"#000000","opacity":"0","brightness":"125","contrast":"100","sepia":"40","shadow":false,"shadow_size":"0","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"50","shapes_star":true,"shapes_star_color":"#414141","shapes_star_width":"0","shapes_star_fill":true,"shapes_star_fill_color":"#9d9d9d","shapes_star_spikes":"12","shapes_star_inner":"8","shapes_star_outer":"14","shapes_star_border":true,"shapes_star_border_color":"#7d7d7d","shapes_star_border_radius":"14","shapes_star_border_linewidth":"2","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#1d1d1d","shapes_star_border_fill_radius":"15","shapes_star_border_fill_gradient":true},"bombs":{"modify":false,"color":"#bb00bb","opacity":"20","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"3","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"60"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":false,"shadow_size":"3","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"60"},"gates":{"neutral":true,"neutral_fill":true,"neutral_fill_color":"#494949","neutral_fill_opacity":"100","neutral_fill_margin":"0","neutral_pattern":true,"neutral_pattern_color":"#232323","neutral_pattern_opacity":"75","neutral_pattern_size":"40","neutral_pattern_margin":"2","neutral_pattern_linewidth":"2","neutral_pattern_stroke":true,"neutral_pattern_fill":false,"neutral_pattern_pyramid":false,"neutral_border":false,"neutral_border_color":"#9f9f9f","neutral_border_linewidth":"1","neutral_border_margin":"5","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"33","neutral_cross_linewidth":"1","neutral_cross_margin":"14","green":false,"green_fill":true,"green_fill_color":"#00cc00","green_fill_opacity":"100","green_fill_margin":"0","green_pattern":true,"green_pattern_color":"#005e00","green_pattern_opacity":"76","green_pattern_size":"40","green_pattern_margin":"5","green_pattern_linewidth":"2","green_pattern_stroke":true,"green_pattern_fill":false,"green_pattern_pyramid":false,"green_border":false,"green_border_color":"#00ff00","green_border_linewidth":"1","green_border_margin":"1","green_cross":true,"green_cross_color":"#000000","green_cross_opacity":"33","green_cross_linewidth":"1","green_cross_margin":"14","red":false,"red_fill":true,"red_fill_color":"#e60000","red_fill_opacity":"100","red_fill_margin":"0","red_pattern":true,"red_pattern_color":"#770000","red_pattern_opacity":"76","red_pattern_size":"40","red_pattern_margin":"5","red_pattern_linewidth":"2","red_pattern_stroke":true,"red_pattern_fill":false,"red_pattern_pyramid":false,"red_border":false,"red_border_color":"#ff0000","red_border_linewidth":"1","red_border_margin":"1","red_cross":true,"red_cross_color":"#000000","red_cross_opacity":"33","red_cross_linewidth":"1","red_cross_margin":"14","blue":false,"blue_fill":true,"blue_fill_color":"#0074e8","blue_fill_opacity":"100","blue_fill_margin":"0","blue_pattern":true,"blue_pattern_color":"#004080","blue_pattern_opacity":"76","blue_pattern_size":"40","blue_pattern_margin":"5","blue_pattern_linewidth":"2","blue_pattern_stroke":true,"blue_pattern_fill":false,"blue_pattern_pyramid":false,"blue_border":false,"blue_border_color":"#0080ff","blue_border_linewidth":"1","blue_border_margin":"1","blue_cross":true,"blue_cross_color":"#000000","blue_cross_opacity":"33","blue_cross_linewidth":"1","blue_cross_margin":"14","drawFloorUnderneath":true,"original_margin":"0"},"team":{"modify":true,"red_color":"#ae4d67","blue_color":"#5683dc","yellow_color":"#dfdf00","gradient2_red_color":"#400000","gradient2_blue_color":"#001722","gradient2_yellow_color":"#342701","gradient2_type":"diagonal","gradient2_opacity1":"65","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"5","gradient2_redrawopp":false,"pattern":false,"pattern_size":"4","pattern_margin":"2","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080c0","pattern_yellow_color":"#ffff00","pattern_opacity":"20","pattern_altsides":false,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"100","contrast":"75","sepia":"25","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"1","pattern_fill":false,"gradient2":true},"endzone":{"modify":false,"red_color":"#ff4040","blue_color":"#5555ff","opacity":"100","margin":"0","checkered":true,"checkered_size":"20","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":false,"stripes_size":"20","stripes_red_color":"#888888","stripes_blue_color":"#888888","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"1"},"redball":{"modify":false,"color":"#b64965","size":"15","opacity":"90","gradient":true,"gradient_color":"#401522","gradient_start":"8","gradient_stop":"20","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"2","shapes_arc_position":"14","shapes_arc_size":"4","shapes_star":false,"shapes_star_color":"#3a1018","shapes_star_transparent":true,"shapes_star_width":"2","shapes_star_spikes":"6","shapes_star_inner":"6","shapes_star_outer":"10","shapes_star_fill":false,"shapes_star_fill_color":"#000000","shapes_overlay":false,"shapes_overlay_transparency":"20","border_color":"#b64965","border_alt_color":"#c0c0c0","shapes_arc_color":"#000000","shapes_arc_transparent":true,"shapes_overlay_type":"marble1","shapes_overlay_base64":""},"blueball":{"modify":false,"color":"#3370a2","size":"15","opacity":"90","gradient":true,"gradient_color":"#00274f","gradient_start":"8","gradient_stop":"20","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"2","shapes_arc_position":"14","shapes_arc_size":"4","shapes_star":false,"shapes_star_color":"#002142","shapes_star_transparent":true,"shapes_star_width":"2","shapes_star_spikes":"6","shapes_star_inner":"6","shapes_star_outer":"10","shapes_star_fill":false,"shapes_star_fill_color":"#000000","shapes_overlay":false,"shapes_overlay_transparency":"20","border_color":"#3370a2","border_alt_color":"#c0c0c0","shapes_arc_color":"#000000","shapes_arc_transparent":true,"shapes_overlay_type":"marble1","shapes_overlay_base64":""}},
'40SB': {"gameoptions":{"ball_transparency":"0","fading_splats":false,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"team","gradient_preset":"dark","color":"#000040","color1":"#8c8c8c","color2":"#464646","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"https://i.imgur.com/ne0PP8e.png","speedpad":"/textures/crystal/speedpad.png","speedpadRed":"/textures/crystal/speedpadred.png","speedpadBlue":"/textures/crystal/speedpadblue.png","portal":"https://i.imgur.com/4W0sC4t.png","splats":"https://i.imgur.com/2kLd2Rn.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#d1d3c9","tint_opacity":"50","random":true,"random_saturation":"6","random_brightness":"90","nofloor":false,"specks":true,"specks_color":"#969696","specks_length":"-80","specks_width":"3","specks_angle":"0","specks_count":"20","specks_opacity":"-7","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":false,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":false,"hexagons_size":"140","hexagons_linewidth":"1","hexagons_margin":"2","hexagons_blur":"1","hexagons_stroke":true,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"75","hexagons_stroke_gradient":"0","hexagons_fill":false,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"40","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"4","checkered_random":false,"grids_square":false,"grids_square_size":"40","grids_square_margin":"6","grids_square_color":"#000000","grids_square_linewidth":"2","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"3","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"120","grids_diagonal_color":"#000000","grids_diagonal_opacity":"12","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#fffffb","gradient_opacity1":"30","gradient_opacity2":"20","gradient_type":"centerline","gradient_repeats":"2","splotches":false,"splotches_color_base":"#ff8000","splotches_color_scheme":"complementary","splotches_color_opacity":"10","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":true,"centerline_color":"#400040","centerline_width":"1","centerline_dashsize":"4","centerline_opacity":"80","circle":false,"circle_red_color":"#ff4040","circle_blue_color":"#5555ff","circle_yellow_color":"#ffff00","circle_width":"16","circle_radius":"330","circle_opacity":"50","circle_gradient":true,"circle_dashsize":"0","octagon":false,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff00","octagon_width":"6","octagon_radius":"120","octagon_opacity":"80","octagon_sides":"8","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"200","contrast":"70","sepia":"0","invert":"100","shadow":false,"shadow_color":"#ffffff","shadow_size":"2","shadow_blur":"4","shadow_opacity":"55","shadow_include_gates":false,"specks":false,"specks_color":"#400080","specks_length":"-14","specks_width":"1","specks_angle":"0","specks_count":"88","specks_opacity":"-73","checkered":false,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"5","checkered_random":false,"grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"randomcircles","gradient_repeats":"20","splotches":true,"splotches_color_base":"#8080ff","splotches_color_scheme":"normal","splotches_color_opacity":"50","splotches_color_saturation":"50","splotches_color_brightness":"20","separatelayer":false},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"40","boosts_red_opacity":"25","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"40","boosts_blue_opacity":"25","boosts_yellow":false,"boosts_yellow_color":"#ffff00","boosts_yellow_radius":"40","boosts_yellow_opacity":"30","flags_red":false,"flags_red_color":"#ff4040","flags_red_radius":"125","flags_red_opacity":"35","flags_blue":false,"flags_blue_color":"#5555ff","flags_blue_radius":"125","flags_blue_opacity":"35","flags_yellow":false,"flags_yellow_color":"#ffff80","flags_yellow_radius":"100","flags_yellow_opacity":"50","spikes":false,"spikes_color":"#0d0d0d","spikes_radius":"30","spikes_opacity":"15","bombs":false,"bombs_color":"#bb00bb","bombs_radius":"50","bombs_opacity":"35","pups":true,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"15"},"spikes":{"modify":true,"color":"#000000","opacity":"0","brightness":"30","contrast":"100","sepia":"0","shadow":true,"shadow_size":"1","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"40","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":true,"color":"#ffffff","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"1","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"50"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":true,"shadow_size":"1","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"50"},"gates":{"neutral":true,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"100","neutral_fill_margin":"4","neutral_pattern":true,"neutral_pattern_color":"#aaaaaa","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":false,"neutral_pattern_pyramid":false,"neutral_border":false,"neutral_border_color":"#a0a0a0","neutral_border_linewidth":"2","neutral_border_margin":"5","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"10","neutral_cross_linewidth":"7","neutral_cross_margin":"6","green":true,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"100","green_fill_margin":"0","green_pattern":true,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":true,"green_border_color":"#62ff62","green_border_linewidth":"1","green_border_margin":"5","green_cross":false,"green_cross_color":"#007900","green_cross_opacity":"70","green_cross_linewidth":"5","green_cross_margin":"8","red":true,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"100","red_fill_margin":"0","red_pattern":true,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":true,"red_border_color":"#e10000","red_border_linewidth":"2","red_border_margin":"5","red_cross":false,"red_cross_color":"#e10000","red_cross_opacity":"70","red_cross_linewidth":"5","red_cross_margin":"8","blue":true,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"100","blue_fill_margin":"0","blue_pattern":true,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":true,"blue_border_color":"#0080e6","blue_border_linewidth":"2","blue_border_margin":"5","blue_cross":false,"blue_cross_color":"#0080e6","blue_cross_opacity":"70","blue_cross_linewidth":"5","blue_cross_margin":"8","drawFloorUnderneath":true,"original_margin":"1"},"team":{"modify":false,"red_color":"#ff4040","blue_color":"#5555ff","yellow_color":"#ffff00","gradient2_red_color":"#ff4040","gradient2_blue_color":"#5555ff","gradient2_yellow_color":"#ffff00","gradient2_type":"diagonal","gradient2_opacity1":"100","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":false,"pattern_size":"5","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#000000","pattern_blue_color":"#000000","pattern_yellow_color":"#000000","pattern_opacity":"50","pattern_altsides":false,"border":true,"border_size":"40","border_linewidth":"1","border_red_color":"#000000","border_blue_color":"#000000","border_yellow_color":"#000000","border_opacity":"100","brightness":"100","contrast":"100","sepia":"0","opacity":"100","margin":"1","drawFloorUnderneath":true,"original_margin":"0","pattern_fill":true,"gradient2":true},"endzone":{"modify":false,"red_color":"#ff4040","blue_color":"#5555ff","opacity":"100","margin":"0","checkered":true,"checkered_size":"20","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":false,"stripes_size":"20","stripes_red_color":"#888888","stripes_blue_color":"#888888","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":false,"color":"#ff0000","size":"10","opacity":"50","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#222222","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"10","opacity":"50","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#ffffff","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'400D': {"gameoptions":{"ball_transparency":"0","fading_splats":true,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"ellipse","gradient_preset":"red","color":"#000040","color1":"#554444","color2":"#552222","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"http://i.imgur.com/te3NexP.png","speedpad":"http://i.imgur.com/6h2Fna8.png","speedpadRed":"http://i.imgur.com/pF4l9SO.png","speedpadBlue":"http://i.imgur.com/NlepAuW.png","portal":"http://i.imgur.com/f0HY7Tu.png","splats":"http://i.imgur.com/2kLd2Rn.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":true,"linewidth":"9","color":"#8080ff","opacity":"70","dashsize":"3","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#3e3e3e","tint_opacity":"50","random":false,"random_saturation":"15","random_brightness":"25","nofloor":false,"specks":false,"specks_color":"#969696","specks_length":"-12","specks_width":"1","specks_angle":"45","specks_count":"4","specks_opacity":"6","image":false,"image_floor":false,"image_brightness":"63","image_contrast":"119","image_saturation":"100","image_opacity":"25","image_grayscale":"0","image_sepia":"65","image_huerotate":"245","image_blur":"0","image_walls":true,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":false,"hexagons_size":"65","hexagons_linewidth":"1","hexagons_margin":"6","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#000000","hexagons_stroke_opacity":"75","hexagons_stroke_gradient":"0","hexagons_fill":false,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"40","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"160","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"8","checkered_random":false,"grids_square":false,"grids_square_size":"36","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"20","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#838383","grids_diagonal":true,"grids_diagonal_size":"400","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"30","grids_diagonal_dashed":"0","grids_diagonal_blur":"3","gradient":true,"gradient_color1":"#cccccc","gradient_color2":"#777777","gradient_opacity1":"25","gradient_opacity2":"25","gradient_type":"randomcircles","gradient_repeats":"60","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"35","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":true,"centerline_color":"#00ff00","centerline_width":"1","centerline_dashsize":"12","centerline_opacity":"80","circle":true,"circle_red_color":"#ff4040","circle_blue_color":"#5555ff","circle_yellow_color":"#ffff00","circle_width":"14","circle_radius":"400","circle_opacity":"50","circle_gradient":true,"circle_dashsize":"0","octagon":true,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff00","octagon_width":"1","octagon_radius":"160","octagon_opacity":"80","octagon_sides":"100","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#400080","specks_length":"-14","specks_width":"1","specks_angle":"0","specks_count":"88","specks_opacity":"-73","checkered":false,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"5","checkered_random":false,"grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"5","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"randomcircles","gradient_repeats":"20","splotches":true,"splotches_color_base":"#8080c0","splotches_color_scheme":"analogous","splotches_color_opacity":"20","splotches_color_saturation":"30","splotches_color_brightness":"35","separatelayer":false},"glow":{"boosts_red":true,"boosts_red_color":"#ff4040","boosts_red_radius":"100","boosts_red_opacity":"15","boosts_blue":true,"boosts_blue_color":"#5555ff","boosts_blue_radius":"100","boosts_blue_opacity":"15","boosts_yellow":true,"boosts_yellow_color":"#ffff80","boosts_yellow_radius":"100","boosts_yellow_opacity":"10","flags_red":true,"flags_red_color":"#ff4040","flags_red_radius":"200","flags_red_opacity":"15","flags_blue":true,"flags_blue_color":"#5555ff","flags_blue_radius":"200","flags_blue_opacity":"15","flags_yellow":true,"flags_yellow_color":"#ffff80","flags_yellow_radius":"200","flags_yellow_opacity":"10","spikes":false,"spikes_color":"#000000","spikes_radius":"18","spikes_opacity":"100","bombs":false,"bombs_color":"#ffff00","bombs_radius":"18","bombs_opacity":"70","pups":true,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"30"},"spikes":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"3","shadow_blur":"1","shadow_color":"#ffffff","shadow_opacity":"60","shapes_star":true,"shapes_star_color":"#515151","shapes_star_width":"1","shapes_star_fill":true,"shapes_star_fill_color":"#454545","shapes_star_spikes":"8","shapes_star_inner":"5","shapes_star_outer":"14","shapes_star_border":true,"shapes_star_border_color":"#e6e6e6","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":true,"shapes_star_border_fill_color":"#c0c0c0","shapes_star_border_fill_radius":"12","shapes_star_border_fill_gradient":false},"bombs":{"modify":true,"color":"#bb00bb","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"0","shadow_blur":"1","shadow_color":"#ffff00","shadow_opacity":"60"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":true,"shadow_size":"0","shadow_blur":"3","shadow_color":"#ffff80","shadow_opacity":"60"},"gates":{"neutral":false,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"100","neutral_fill_margin":"0","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":false,"neutral_border_color":"#444444","neutral_border_linewidth":"","neutral_border_margin":"0","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"1","neutral_cross_margin":"0","green":false,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"100","green_fill_margin":"0","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":false,"green_border_color":"#444444","green_border_linewidth":"","green_border_margin":"0","green_cross":false,"green_cross_color":"#000000","green_cross_opacity":"50","green_cross_linewidth":"1","green_cross_margin":"0","red":false,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"100","red_fill_margin":"0","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":false,"red_border_color":"#444444","red_border_linewidth":"","red_border_margin":"0","red_cross":false,"red_cross_color":"#000000","red_cross_opacity":"50","red_cross_linewidth":"1","red_cross_margin":"0","blue":false,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"100","blue_fill_margin":"0","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":false,"blue_border_color":"#444444","blue_border_linewidth":"","blue_border_margin":"0","blue_cross":false,"blue_cross_color":"#000000","blue_cross_opacity":"50","blue_cross_linewidth":"1","blue_cross_margin":"0","drawFloorUnderneath":true,"original_margin":"0"},"team":{"modify":true,"red_color":"#ff6262","blue_color":"#009be6","yellow_color":"#ffff5b","gradient2_red_color":"#400000","gradient2_blue_color":"#001722","gradient2_yellow_color":"#342701","gradient2_type":"diagonal","gradient2_opacity1":"65","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"5","gradient2_redrawopp":false,"pattern":false,"pattern_size":"4","pattern_margin":"2","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080c0","pattern_yellow_color":"#ffff00","pattern_opacity":"20","pattern_altsides":false,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"100","contrast":"75","sepia":"25","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"1","pattern_fill":false,"gradient2":true},"endzone":{"modify":false,"red_color":"#ff4040","blue_color":"#5555ff","opacity":"100","margin":"0","checkered":true,"checkered_size":"20","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":false,"stripes_size":"20","stripes_red_color":"#888888","stripes_blue_color":"#888888","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":true,"color":"#ff0000","size":"10","opacity":"50","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#222222","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":true,"color":"#0080ff","size":"10","opacity":"50","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#ffffff","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'Ball Glow': {"gameoptions":{"ball_transparency":"0","fading_splats":false,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":true,"red_color":"#ff51a8","red_opacity":"100","blue_color":"#8080ff","blue_opacity":"100","radius":"60","below":true},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"color","stretch":true,"gradient_type":"team","gradient_preset":"blue","color":"#000000","color1":"#9696ab","color2":"#222255","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"/textures/coral/tiles.png","speedpad":"/textures/coral/speedpad.png","speedpadRed":"/textures/coral/speedpadred.png","speedpadBlue":"/textures/coral/speedpadblue.png","portal":"/textures/coral/portal.png","splats":"/textures/coral/splats.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#2c2c2c","tint_opacity":"0","random":false,"random_saturation":"15","random_brightness":"25","nofloor":false,"specks":false,"specks_color":"#969696","specks_length":"-80","specks_width":"3","specks_angle":"0","specks_count":"20","specks_opacity":"-10","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"40","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":true,"image_walls_brightness":"65","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"40","image_walls_grayscale":"0","image_walls_sepia":"82","image_walls_huerotate":"90","image_walls_blur":"0","hexagons":false,"hexagons_size":"65","hexagons_linewidth":"1","hexagons_margin":"6","hexagons_blur":"0","hexagons_stroke":false,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"75","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"40","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#0080ff","checkered_altTintOpacity":"10","checkered_random":false,"grids_square":false,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#ffff00","grids_square_linewidth":"1","grids_square_opacity":"100","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"80","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"100","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#c0c0c0","gradient_opacity1":"35","gradient_opacity2":"75","gradient_type":"centerline","gradient_repeats":"2","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"35","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":true,"centerline_color":"#ffffff","centerline_width":"1","centerline_dashsize":"4","centerline_opacity":"80","circle":true,"circle_red_color":"#ff4040","circle_blue_color":"#5555ff","circle_yellow_color":"#ffff00","circle_width":"40","circle_radius":"350","circle_opacity":"50","circle_gradient":true,"circle_dashsize":"0","octagon":true,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff00","octagon_width":"20","octagon_radius":"300","octagon_opacity":"40","octagon_sides":"80","octagon_fillopacity":"18","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#400080","specks_length":"-14","specks_width":"1","specks_angle":"0","specks_count":"88","specks_opacity":"-73","checkered":false,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"5","checkered_random":false,"grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"randomcircles","gradient_repeats":"20","splotches":true,"splotches_color_base":"#800080","splotches_color_scheme":"triadic","splotches_color_opacity":"80","splotches_color_saturation":"95","splotches_color_brightness":"10","separatelayer":false},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"40","boosts_red_opacity":"25","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"40","boosts_blue_opacity":"25","boosts_yellow":false,"boosts_yellow_color":"#ffff00","boosts_yellow_radius":"40","boosts_yellow_opacity":"30","flags_red":false,"flags_red_color":"#ff4040","flags_red_radius":"125","flags_red_opacity":"35","flags_blue":false,"flags_blue_color":"#5555ff","flags_blue_radius":"125","flags_blue_opacity":"35","flags_yellow":false,"flags_yellow_color":"#ffff80","flags_yellow_radius":"100","flags_yellow_opacity":"50","spikes":true,"spikes_color":"#ffff80","spikes_radius":"19","spikes_opacity":"40","bombs":false,"bombs_color":"#bb00bb","bombs_radius":"20","bombs_opacity":"75","pups":true,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"15"},"spikes":{"modify":true,"color":"#ffff80","opacity":"10","brightness":"85","contrast":"100","sepia":"0","shadow":false,"shadow_size":"0","shadow_blur":"3","shadow_color":"#ff8040","shadow_opacity":"100","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":true,"color":"#ffffff","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"0","shadow_blur":"3","shadow_color":"#ff00ff","shadow_opacity":"50"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":true,"shadow_size":"1","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"50"},"gates":{"neutral":true,"neutral_fill":false,"neutral_fill_color":"#000000","neutral_fill_opacity":"30","neutral_fill_margin":"0","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":true,"neutral_border_color":"#4f4f4f","neutral_border_linewidth":"1","neutral_border_margin":"3","neutral_cross":true,"neutral_cross_color":"#5b5b5b","neutral_cross_opacity":"50","neutral_cross_linewidth":"1","neutral_cross_margin":"16","green":true,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"25","green_fill_margin":"1","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":true,"green_border_color":"#00ff00","green_border_linewidth":"2","green_border_margin":"2","green_cross":true,"green_cross_color":"#00ff00","green_cross_opacity":"100","green_cross_linewidth":"2","green_cross_margin":"10","red":true,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"25","red_fill_margin":"1","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":true,"red_border_color":"#ff0000","red_border_linewidth":"2","red_border_margin":"2","red_cross":true,"red_cross_color":"#ff0000","red_cross_opacity":"100","red_cross_linewidth":"2","red_cross_margin":"10","blue":true,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"25","blue_fill_margin":"1","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":true,"blue_border_color":"#0080ff","blue_border_linewidth":"2","blue_border_margin":"2","blue_cross":true,"blue_cross_color":"#0080ff","blue_cross_opacity":"100","blue_cross_linewidth":"2","blue_cross_margin":"10","drawFloorUnderneath":true,"original_margin":"0"},"team":{"modify":true,"red_color":"#530000","blue_color":"#002953","yellow_color":"#7d7d00","gradient2_red_color":"#ff4040","gradient2_blue_color":"#5555ff","gradient2_yellow_color":"#ffff00","gradient2_type":"diagonal","gradient2_opacity1":"100","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":false,"pattern_size":"4","pattern_margin":"2","pattern_blur":"0","pattern_red_color":"#000000","pattern_blue_color":"#000000","pattern_yellow_color":"#000000","pattern_opacity":"30","pattern_altsides":false,"border":false,"border_size":"8","border_linewidth":"1","border_red_color":"#ff0000","border_blue_color":"#0080ff","border_yellow_color":"#000000","border_opacity":"100","brightness":"100","contrast":"100","sepia":"0","opacity":"65","margin":"0","drawFloorUnderneath":false,"original_margin":"2","gradient2":true,"pattern_fill":true},"endzone":{"modify":true,"red_color":"#ff4040","blue_color":"#0080ff","opacity":"30","margin":"2","checkered":true,"checkered_size":"20","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":true,"stripes_size":"10","stripes_red_color":"#ff0000","stripes_blue_color":"#0080ff","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":false,"original_margin":"0"},"redball":{"modify":false,"color":"#ff0000","size":"10","opacity":"50","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#222222","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"10","opacity":"50","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#ffffff","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'Hex': {"gameoptions":{"ball_transparency":"0","fading_splats":true,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":true,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"team","gradient_preset":"blue","color":"#000040","color1":"#444455","color2":"#222255","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":true,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":true,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"http://i.imgur.com/nhqtmd3.png","speedpad":"http://i.imgur.com/6h2Fna8.png","speedpadRed":"http://i.imgur.com/pF4l9SO.png","speedpadBlue":"http://i.imgur.com/NlepAuW.png","portal":"http://i.imgur.com/qpg0wCt.png","splats":"http://i.imgur.com/ABTYq4t.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#2a2a2a","tint_opacity":"50","random":false,"random_saturation":"15","random_brightness":"25","nofloor":false,"specks":true,"specks_color":"#ffffff","specks_length":"1","specks_width":"1","specks_angle":"1","specks_count":"30","specks_opacity":"-35","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":false,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":true,"hexagons_size":"100","hexagons_linewidth":"1","hexagons_margin":"2","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#ffffff","hexagons_stroke_opacity":"15","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#ffffff","hexagons_fill_opacity":"1","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#80ff00","checkered_altTintOpacity":"8","checkered_random":false,"grids_square":false,"grids_square_size":"36","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"20","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#838383","grids_diagonal":false,"grids_diagonal_size":"40","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"12","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#202020","gradient_color2":"#585858","gradient_opacity1":"34","gradient_opacity2":"40","gradient_type":"centerline","gradient_repeats":"2","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"35","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":false,"centerline_color":"#00ff00","centerline_width":"1","centerline_dashsize":"12","centerline_opacity":"80","circle":true,"circle_red_color":"#ff4040","circle_blue_color":"#5555ff","circle_yellow_color":"#ffff00","circle_width":"16","circle_radius":"330","circle_opacity":"50","circle_gradient":true,"circle_dashsize":"0","octagon":true,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff00","octagon_width":"5","octagon_radius":"120","octagon_opacity":"40","octagon_sides":"10","octagon_fillopacity":"5","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"140","contrast":"130","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"4","shadow_blur":"3","shadow_opacity":"80","shadow_include_gates":false,"specks":false,"specks_color":"#400080","specks_length":"-14","specks_width":"1","specks_angle":"0","specks_count":"88","specks_opacity":"-73","checkered":true,"checkered_size":"8","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"10","checkered_random":true,"grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"5","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"randomcircles","gradient_repeats":"20","splotches":true,"splotches_color_base":"#00ffff","splotches_color_scheme":"complementary","splotches_color_opacity":"50","splotches_color_saturation":"60","splotches_color_brightness":"15","separatelayer":false},"glow":{"boosts_red":true,"boosts_red_color":"#ff4040","boosts_red_radius":"100","boosts_red_opacity":"15","boosts_blue":true,"boosts_blue_color":"#5555ff","boosts_blue_radius":"100","boosts_blue_opacity":"15","boosts_yellow":true,"boosts_yellow_color":"#ffff80","boosts_yellow_radius":"100","boosts_yellow_opacity":"10","flags_red":true,"flags_red_color":"#ff4040","flags_red_radius":"200","flags_red_opacity":"15","flags_blue":true,"flags_blue_color":"#5555ff","flags_blue_radius":"200","flags_blue_opacity":"15","flags_yellow":true,"flags_yellow_color":"#ffff80","flags_yellow_radius":"200","flags_yellow_opacity":"10","spikes":false,"spikes_color":"#bbbbbb","spikes_radius":"30","spikes_opacity":"18","bombs":false,"bombs_color":"#bb00bb","bombs_radius":"30","bombs_opacity":"20","pups":true,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"30"},"spikes":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"0","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"50","shapes_star":true,"shapes_star_color":"#414141","shapes_star_width":"0","shapes_star_fill":true,"shapes_star_fill_color":"#282828","shapes_star_spikes":"7","shapes_star_inner":"14","shapes_star_outer":"4","shapes_star_border":true,"shapes_star_border_color":"#161616","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":true,"shapes_star_border_fill_color":"#d8d8b4","shapes_star_border_fill_radius":"17","shapes_star_border_fill_gradient":true},"bombs":{"modify":false,"color":"#ff5bff","opacity":"8","brightness":"110","contrast":"115","sepia":"0","shadow":true,"shadow_size":"0","shadow_blur":"2","shadow_color":"#9f9f9f","shadow_opacity":"60"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":true,"shadow_size":"2","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"70"},"gates":{"neutral":false,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"100","neutral_fill_margin":"0","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":false,"neutral_border_color":"#444444","neutral_border_linewidth":"1","neutral_border_margin":"0","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"1","neutral_cross_margin":"0","green":false,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"100","green_fill_margin":"0","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":false,"green_border_color":"#444444","green_border_linewidth":"1","green_border_margin":"0","green_cross":false,"green_cross_color":"#000000","green_cross_opacity":"50","green_cross_linewidth":"1","green_cross_margin":"0","red":false,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"100","red_fill_margin":"0","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":false,"red_border_color":"#444444","red_border_linewidth":"1","red_border_margin":"0","red_cross":false,"red_cross_color":"#000000","red_cross_opacity":"50","red_cross_linewidth":"1","red_cross_margin":"0","blue":false,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"100","blue_fill_margin":"0","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":false,"blue_border_color":"#444444","blue_border_linewidth":"1","blue_border_margin":"0","blue_cross":false,"blue_cross_color":"#000000","blue_cross_opacity":"50","blue_cross_linewidth":"1","blue_cross_margin":"0","drawFloorUnderneath":true,"original_margin":"0"},"team":{"modify":true,"red_color":"#d50000","blue_color":"#0080c0","yellow_color":"#ffff00","gradient2_red_color":"#000000","gradient2_blue_color":"#000000","gradient2_yellow_color":"#000000","gradient2_type":"vertical","gradient2_opacity1":"80","gradient2_opacity2":"10","gradient2_repeats":"42","gradient2_roundedrect":"0","gradient2_redrawopp":true,"pattern":false,"pattern_size":"2","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#000000","pattern_blue_color":"#000000","pattern_yellow_color":"#000000","pattern_opacity":"50","pattern_altsides":false,"border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#000000","border_blue_color":"#000000","border_yellow_color":"#000000","border_opacity":"100","brightness":"90","contrast":"140","sepia":"30","opacity":"100","margin":"1","drawFloorUnderneath":true,"original_margin":"0","pattern_fill":true,"gradient2":true},"endzone":{"modify":true,"red_color":"#ff4040","blue_color":"#5555ff","opacity":"50","margin":"1","checkered":true,"checkered_size":"13","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":false,"stripes_size":"16","stripes_red_color":"#bcbcbc","stripes_blue_color":"#bcbcbc","border":false,"border_size":"24","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":false,"color":"#ca0000","size":"18","opacity":"100","gradient":false,"gradient_color":"#550000","gradient_start":"5","gradient_stop":"25","gradient_position":"20","border_width":"1","border_segments":"0","shapes_arc":true,"shapes_arc_width":"7","shapes_arc_position":"3","shapes_arc_size":"18","shapes_star":true,"shapes_star_color":"#333333","shapes_star_transparent":true,"shapes_star_width":"8","shapes_star_spikes":"6","shapes_star_inner":"6","shapes_star_outer":"1","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#000000","border_color":"#fdfdfd","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#333333"},"blueball":{"modify":false,"color":"#0079f2","size":"18","opacity":"100","gradient":false,"gradient_color":"#000055","gradient_start":"5","gradient_stop":"25","gradient_position":"20","border_width":"1","border_segments":"0","shapes_arc":true,"shapes_arc_width":"7","shapes_arc_position":"3","shapes_arc_size":"18","shapes_star":true,"shapes_star_color":"#aaaaaa","shapes_star_transparent":true,"shapes_star_width":"8","shapes_star_spikes":"6","shapes_star_inner":"6","shapes_star_outer":"1","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#000000","border_color":"#fdfdfd","shapes_arc_color":"#aaaaaa","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'Nebula': {"gameoptions":{"ball_transparency":"0","fading_splats":true,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"team","gradient_preset":"dark","color":"#000040","color1":"#3b3b3b","color2":"#090909","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":true},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#97ff97","fill_opacity":"10"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"50"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"https://i.imgur.com/pc69rcO.png","speedpad":"/textures/crystal/speedpad.png","speedpadRed":"/textures/crystal/speedpadred.png","speedpadBlue":"/textures/crystal/speedpadblue.png","portal":"https://i.imgur.com/H1e5f5X.png","splats":"https://i.imgur.com/nRbpdju.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#000000","tint_opacity":"100","random":false,"random_saturation":"15","random_brightness":"25","nofloor":false,"specks":true,"specks_color":"#969696","specks_length":"1","specks_width":"1","specks_angle":"1","specks_count":"33","specks_opacity":"-75","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":false,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":true,"hexagons_size":"400","hexagons_linewidth":"0","hexagons_margin":"5","hexagons_blur":"6","hexagons_stroke":false,"hexagons_stroke_color":"#ffffff","hexagons_stroke_opacity":"100","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#0c0c0c","hexagons_fill_opacity":"50","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"240","checkered_margin":"0","checkered_altTintColor":"#80ff00","checkered_altTintOpacity":"8","checkered_random":false,"grids_square":false,"grids_square_size":"160","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"20","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#838383","grids_diagonal":false,"grids_diagonal_size":"400","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"15","grids_diagonal_dashed":"50","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#400080","gradient_color2":"#530000","gradient_opacity1":"35","gradient_opacity2":"40","gradient_type":"centercircle","gradient_repeats":"14","splotches":true,"splotches_color_base":"#008000","splotches_color_scheme":"complementary","splotches_color_opacity":"60","splotches_color_saturation":"70","splotches_color_brightness":"35"},"shapes":{"centerline":true,"centerline_color":"#ffff00","centerline_width":"2","centerline_dashsize":"20","centerline_opacity":"65","circle":true,"circle_red_color":"#ff4040","circle_blue_color":"#5555ff","circle_yellow_color":"#ffff00","circle_width":"25","circle_radius":"300","circle_opacity":"30","circle_gradient":true,"circle_dashsize":"0","octagon":true,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff00","octagon_width":"1","octagon_radius":"284","octagon_opacity":"50","octagon_sides":"100","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#4f4f4f","specks_length":"-2","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":true,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"4","checkered_random":false,"grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"3","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"centercircle","gradient_repeats":"20","splotches":false,"splotches_color_base":"#8080c0","splotches_color_scheme":"normal","splotches_color_opacity":"25","splotches_color_saturation":"50","splotches_color_brightness":"30","separatelayer":false},"glow":{"boosts_red":true,"boosts_red_color":"#ff4040","boosts_red_radius":"60","boosts_red_opacity":"35","boosts_blue":true,"boosts_blue_color":"#5555ff","boosts_blue_radius":"60","boosts_blue_opacity":"35","boosts_yellow":true,"boosts_yellow_color":"#ffff80","boosts_yellow_radius":"60","boosts_yellow_opacity":"35","flags_red":true,"flags_red_color":"#ff4040","flags_red_radius":"400","flags_red_opacity":"33","flags_blue":true,"flags_blue_color":"#5555ff","flags_blue_radius":"400","flags_blue_opacity":"33","flags_yellow":true,"flags_yellow_color":"#ffff80","flags_yellow_radius":"400","flags_yellow_opacity":"25","spikes":true,"spikes_color":"#bbbbbb","spikes_radius":"150","spikes_opacity":"20","bombs":true,"bombs_color":"#ff88ff","bombs_radius":"60","bombs_opacity":"35","pups":true,"pups_color":"#ff7700","pups_radius":"50","pups_opacity":"40"},"spikes":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"1","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"60","shapes_star":true,"shapes_star_color":"#414141","shapes_star_width":"1","shapes_star_fill":true,"shapes_star_fill_color":"#cecece","shapes_star_spikes":"14","shapes_star_inner":"5","shapes_star_outer":"17","shapes_star_border":true,"shapes_star_border_color":"#757575","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#595959","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":false,"color":"#bb00bb","opacity":"20","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"3","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"60"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":true,"shadow_size":"3","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"60"},"gates":{"neutral":false,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"100","neutral_fill_margin":"0","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":false,"neutral_border_color":"#444444","neutral_border_linewidth":"1","neutral_border_margin":"0","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"1","neutral_cross_margin":"0","green":false,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"100","green_fill_margin":"0","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":false,"green_border_color":"#444444","green_border_linewidth":"1","green_border_margin":"0","green_cross":false,"green_cross_color":"#009900","green_cross_opacity":"50","green_cross_linewidth":"1","green_cross_margin":"0","red":false,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"100","red_fill_margin":"0","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":false,"red_border_color":"#444444","red_border_linewidth":"1","red_border_margin":"0","red_cross":false,"red_cross_color":"#009900","red_cross_opacity":"50","red_cross_linewidth":"1","red_cross_margin":"0","blue":false,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"100","blue_fill_margin":"0","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":false,"blue_border_color":"#444444","blue_border_linewidth":"1","blue_border_margin":"0","blue_cross":false,"blue_cross_color":"#009900","blue_cross_opacity":"50","blue_cross_linewidth":"1","blue_cross_margin":"0","drawFloorUnderneath":true,"original_margin":"1"},"team":{"modify":true,"red_color":"#800000","blue_color":"#006ad5","yellow_color":"#ffff00","gradient2_red_color":"#ff4040","gradient2_blue_color":"#5555ff","gradient2_yellow_color":"#ffff00","gradient2_type":"diagonal","gradient2_opacity1":"100","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":true,"pattern_size":"8","pattern_margin":"0","pattern_blur":"1","pattern_red_color":"#000000","pattern_blue_color":"#000000","pattern_yellow_color":"#000000","pattern_opacity":"10","pattern_altsides":false,"border":false,"border_size":"2","border_linewidth":"1","border_red_color":"#000000","border_blue_color":"#000000","border_yellow_color":"#000000","border_opacity":"100","brightness":"125","contrast":"100","sepia":"0","opacity":"50","margin":"0","drawFloorUnderneath":true,"original_margin":"1","pattern_fill":true,"gradient2":true},"endzone":{"modify":true,"red_color":"#ae0000","blue_color":"#0000c4","opacity":"100","margin":"0","checkered":true,"checkered_size":"10","checkered_alt_red_color":"#910000","checkered_alt_blue_color":"#000091","stripes":false,"stripes_size":"40","stripes_red_color":"#dddddd","stripes_blue_color":"#dddddd","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"1"},"redball":{"modify":true,"color":"#ff0000","size":"10","opacity":"100","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"6","shapes_arc":true,"shapes_arc_width":"3","shapes_arc_position":"13","shapes_arc_size":"18","shapes_star":true,"shapes_star_color":"#222222","shapes_star_transparent":true,"shapes_star_width":"3","shapes_star_spikes":"6","shapes_star_inner":"2","shapes_star_outer":"4","shapes_star_fill":true,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#800000"},"blueball":{"modify":true,"color":"#0080ff","size":"10","opacity":"100","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"6","shapes_arc":true,"shapes_arc_width":"3","shapes_arc_position":"13","shapes_arc_size":"18","shapes_star":true,"shapes_star_color":"#ffffff","shapes_star_transparent":true,"shapes_star_width":"3","shapes_star_spikes":"6","shapes_star_inner":"2","shapes_star_outer":"4","shapes_star_fill":true,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#0052a4","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'RFC': {"gameoptions":{"ball_transparency":"0","fading_splats":false,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"team","gradient_preset":"red","color":"#000040","color1":"#554444","color2":"#552222","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"https://i.imgur.com/pFDIEYB.png","speedpad":"http://i.imgur.com/6h2Fna8.png","speedpadRed":"http://i.imgur.com/pF4l9SO.png","speedpadBlue":"http://i.imgur.com/NlepAuW.png","portal":"https://i.imgur.com/4W0sC4t.png","splats":"https://i.imgur.com/2kLd2Rn.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#333333","tint_opacity":"0","random":true,"random_saturation":"25","random_brightness":"25","nofloor":false,"specks":false,"specks_color":"#969696","specks_length":"-80","specks_width":"3","specks_angle":"0","specks_count":"20","specks_opacity":"-10","image":false,"image_floor":true,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"30","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"1","image_walls":true,"image_walls_brightness":"65","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"40","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"1","hexagons":false,"hexagons_size":"65","hexagons_linewidth":"1","hexagons_margin":"6","hexagons_blur":"0","hexagons_stroke":false,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"75","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"40","hexagons_fill_gradient":"0","checkered":true,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"10","checkered_random":false,"grids_square":true,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"8","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"120","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"12","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#595959","gradient_color2":"#000000","gradient_opacity1":"39","gradient_opacity2":"49","gradient_type":"centercircle","gradient_repeats":"2","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"35","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":true,"centerline_color":"#80ff00","centerline_width":"1","centerline_dashsize":"14","centerline_opacity":"65","circle":true,"circle_red_color":"#ff4040","circle_blue_color":"#5555ff","circle_yellow_color":"#ffff00","circle_width":"20","circle_radius":"350","circle_opacity":"50","circle_gradient":true,"circle_dashsize":"0","octagon":true,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff00","octagon_width":"4","octagon_radius":"332","octagon_opacity":"40","octagon_sides":"80","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"30","brightness":"140","contrast":"80","sepia":"55","invert":"80","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#a8a8a8","specks_length":"-40","specks_width":"10","specks_angle":"135","specks_count":"60","specks_opacity":"-5","checkered":false,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"16","checkered_random":false,"grids_square":false,"grids_square_size":"10","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#4e4e4e","grids_diagonal_opacity":"20","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#cccccc","gradient_color2":"#525252","gradient_opacity1":"50","gradient_opacity2":"50","gradient_type":"randomcircles","gradient_repeats":"40","splotches":false,"splotches_color_base":"#8080c0","splotches_color_scheme":"normal","splotches_color_opacity":"25","splotches_color_saturation":"50","splotches_color_brightness":"30","separatelayer":false},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"40","boosts_red_opacity":"25","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"40","boosts_blue_opacity":"25","boosts_yellow":false,"boosts_yellow_color":"#ffff00","boosts_yellow_radius":"40","boosts_yellow_opacity":"30","flags_red":false,"flags_red_color":"#ff4040","flags_red_radius":"125","flags_red_opacity":"35","flags_blue":false,"flags_blue_color":"#5555ff","flags_blue_radius":"125","flags_blue_opacity":"35","flags_yellow":false,"flags_yellow_color":"#ffff80","flags_yellow_radius":"100","flags_yellow_opacity":"50","spikes":false,"spikes_color":"#ffffff","spikes_radius":"20","spikes_opacity":"100","bombs":false,"bombs_color":"#bb00bb","bombs_radius":"20","bombs_opacity":"75","pups":true,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"15"},"spikes":{"modify":true,"color":"#8000ff","opacity":"5","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":true,"color":"#ffffff","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":true,"shadow_size":"2","shadow_blur":"3","shadow_color":"#000000","shadow_opacity":"50"},"gates":{"neutral":false,"neutral_fill":false,"neutral_fill_color":"#000000","neutral_fill_opacity":"30","neutral_fill_margin":"0","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":true,"neutral_border_color":"#8b8b8b","neutral_border_linewidth":"1","neutral_border_margin":"3","neutral_cross":true,"neutral_cross_color":"#5b5b5b","neutral_cross_opacity":"25","neutral_cross_linewidth":"1","neutral_cross_margin":"16","green":false,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"25","green_fill_margin":"1","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":true,"green_border_color":"#00ff00","green_border_linewidth":"2","green_border_margin":"2","green_cross":true,"green_cross_color":"#00ff00","green_cross_opacity":"100","green_cross_linewidth":"2","green_cross_margin":"10","red":false,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"25","red_fill_margin":"1","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":true,"red_border_color":"#ff0000","red_border_linewidth":"2","red_border_margin":"2","red_cross":true,"red_cross_color":"#ff0000","red_cross_opacity":"100","red_cross_linewidth":"2","red_cross_margin":"10","blue":false,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"25","blue_fill_margin":"1","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":true,"blue_border_color":"#0080ff","blue_border_linewidth":"2","blue_border_margin":"2","blue_cross":true,"blue_cross_color":"#0080ff","blue_cross_opacity":"100","blue_cross_linewidth":"2","blue_cross_margin":"10","drawFloorUnderneath":true,"original_margin":"0"},"team":{"modify":true,"red_color":"#d50000","blue_color":"#0080c0","yellow_color":"#ffff00","gradient2_red_color":"#ff8080","gradient2_blue_color":"#71a6ff","gradient2_yellow_color":"#ffffa4","gradient2_type":"diagonal","gradient2_opacity1":"35","gradient2_opacity2":"65","gradient2_repeats":"44","gradient2_roundedrect":"4","gradient2_redrawopp":true,"pattern":false,"pattern_size":"10","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080c0","pattern_yellow_color":"#ffff00","pattern_opacity":"40","pattern_altsides":true,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"80","contrast":"100","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"1","gradient2":true,"pattern_fill":false},"endzone":{"modify":false,"red_color":"#ff4040","blue_color":"#5555ff","opacity":"100","margin":"0","checkered":true,"checkered_size":"20","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":false,"stripes_size":"20","stripes_red_color":"#888888","stripes_blue_color":"#888888","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":false,"color":"#ff0000","size":"10","opacity":"50","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#222222","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"10","opacity":"50","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#ffffff","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'White': {"gameoptions":{"ball_transparency":"0","fading_splats":false,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"team","gradient_preset":"dark","color":"#000040","color1":"#3b3b3b","color2":"#090909","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#97ff97","fill_opacity":"10"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"50"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"http://i.imgur.com/7taPBrC.png","speedpad":"https://i.imgur.com/XGbQS0m.png","speedpadRed":"https://i.imgur.com/7ezs4BA.png","speedpadBlue":"https://i.imgur.com/rVFx0HE.png","portal":"https://i.imgur.com/f0HY7Tu.png","splats":"https://i.imgur.com/nRbpdju.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":true,"plain":true,"tint_color":"#ebebeb","tint_opacity":"50","random":false,"random_saturation":"15","random_brightness":"75","nofloor":false,"specks":false,"specks_color":"#004080","specks_length":"-100","specks_width":"1","specks_angle":"180","specks_count":"15","specks_opacity":"5","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":false,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":false,"hexagons_size":"150","hexagons_linewidth":"2","hexagons_margin":"3","hexagons_blur":"2","hexagons_stroke":true,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"30","hexagons_stroke_gradient":"0","hexagons_fill":false,"hexagons_fill_color":"#808040","hexagons_fill_opacity":"10","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#808040","checkered_altTintOpacity":"8","checkered_random":false,"grids_square":false,"grids_square_size":"20","grids_square_margin":"11","grids_square_color":"#000000","grids_square_linewidth":"1","grids_square_opacity":"30","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"120","grids_diagonal_color":"#000000","grids_diagonal_opacity":"10","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#8fa28c","gradient_color2":"#ffffbf","gradient_opacity1":"50","gradient_opacity2":"33","gradient_type":"centerline","gradient_repeats":"2","splotches":false,"splotches_color_base":"#400080","splotches_color_scheme":"triadic","splotches_color_opacity":"30","splotches_color_saturation":"60","splotches_color_brightness":"60"},"shapes":{"centerline":true,"centerline_color":"#ffff00","centerline_width":"10","centerline_dashsize":"0","centerline_opacity":"65","circle":true,"circle_red_color":"#ff4040","circle_blue_color":"#5555ff","circle_yellow_color":"#ffff00","circle_width":"16","circle_radius":"320","circle_opacity":"80","circle_gradient":false,"circle_dashsize":"0","octagon":false,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff00","octagon_width":"6","octagon_radius":"120","octagon_opacity":"80","octagon_sides":"8","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#c0c0c0","opacity":"50","brightness":"180","contrast":"170","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"0","shadow_blur":"10","shadow_opacity":"100","shadow_include_gates":false,"specks":false,"specks_color":"#ffffff","specks_length":"-2","specks_width":"1","specks_angle":"135","specks_count":"75","specks_opacity":"-35","checkered":false,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#ffffff","checkered_altTintOpacity":"10","checkered_random":true,"grids_square":false,"grids_square_size":"5","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"10","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"centercircle","gradient_repeats":"20","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"65","splotches_color_saturation":"70","splotches_color_brightness":"60","separatelayer":false},"glow":{"boosts_red":true,"boosts_red_color":"#ff4040","boosts_red_radius":"70","boosts_red_opacity":"15","boosts_blue":true,"boosts_blue_color":"#5555ff","boosts_blue_radius":"70","boosts_blue_opacity":"15","boosts_yellow":true,"boosts_yellow_color":"#ffff80","boosts_yellow_radius":"70","boosts_yellow_opacity":"30","flags_red":false,"flags_red_color":"#ff4040","flags_red_radius":"300","flags_red_opacity":"100","flags_blue":false,"flags_blue_color":"#5555ff","flags_blue_radius":"300","flags_blue_opacity":"100","flags_yellow":false,"flags_yellow_color":"#ffff80","flags_yellow_radius":"280","flags_yellow_opacity":"100","spikes":false,"spikes_color":"#bbbbbb","spikes_radius":"150","spikes_opacity":"20","bombs":false,"bombs_color":"#ff88ff","bombs_radius":"60","bombs_opacity":"35","pups":true,"pups_color":"#ff7700","pups_radius":"50","pups_opacity":"20"},"spikes":{"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"1","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"60","shapes_star":true,"shapes_star_color":"#242424","shapes_star_width":"1","shapes_star_fill":false,"shapes_star_fill_color":"#8080ff","shapes_star_spikes":"12","shapes_star_inner":"6","shapes_star_outer":"14","shapes_star_border":true,"shapes_star_border_color":"#242424","shapes_star_border_radius":"9","shapes_star_border_linewidth":"1","shapes_star_border_fill":true,"shapes_star_border_fill_color":"#242424","shapes_star_border_fill_radius":"4","shapes_star_border_fill_gradient":false},"bombs":{"modify":false,"color":"#bb00bb","opacity":"20","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"3","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"60"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":true,"shadow_size":"2","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"60"},"gates":{"neutral":true,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"100","neutral_fill_margin":"0","neutral_pattern":false,"neutral_pattern_color":"#cccccc","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_linewidth":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":true,"neutral_border_color":"#cacaca","neutral_border_linewidth":"2","neutral_border_margin":"2","neutral_cross":true,"neutral_cross_color":"#000000","neutral_cross_opacity":"30","neutral_cross_linewidth":"1","neutral_cross_margin":"15","green":true,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"100","green_fill_margin":"0","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_linewidth":"1","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":true,"green_border_color":"#00ff00","green_border_linewidth":"2","green_border_margin":"2","green_cross":true,"green_cross_color":"#00ff00","green_cross_opacity":"100","green_cross_linewidth":"3","green_cross_margin":"6","red":true,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"100","red_fill_margin":"0","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_linewidth":"1","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":true,"red_border_color":"#ff0000","red_border_linewidth":"2","red_border_margin":"2","red_cross":true,"red_cross_color":"#ff0000","red_cross_opacity":"100","red_cross_linewidth":"3","red_cross_margin":"6","blue":true,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"100","blue_fill_margin":"0","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_linewidth":"1","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":true,"blue_border_color":"#0000ff","blue_border_linewidth":"2","blue_border_margin":"2","blue_cross":true,"blue_cross_color":"#0000ff","blue_cross_opacity":"100","blue_cross_linewidth":"3","blue_cross_margin":"6","drawFloorUnderneath":true,"original_margin":"0"},"team":{"modify":true,"red_color":"#ff4f4f","blue_color":"#2d96ff","yellow_color":"#ffff5b","gradient2_red_color":"#ff3535","gradient2_blue_color":"#359aff","gradient2_yellow_color":"#ffff77","gradient2_type":"randomcircles","gradient2_opacity1":"50","gradient2_opacity2":"40","gradient2_repeats":"10","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":true,"pattern_size":"4","pattern_margin":"2","pattern_blur":"0","pattern_red_color":"#000000","pattern_blue_color":"#000000","pattern_yellow_color":"#000000","pattern_opacity":"10","pattern_altsides":true,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"100","contrast":"100","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"1","pattern_fill":false,"gradient2":true},"endzone":{"modify":true,"red_color":"#ff4848","blue_color":"#2d96ff","opacity":"100","margin":"0","checkered":true,"checkered_size":"10","checkered_alt_red_color":"#ffeaea","checkered_alt_blue_color":"#cee7ff","stripes":false,"stripes_size":"8","stripes_red_color":"#9b9b9b","stripes_blue_color":"#9b9b9b","border":false,"border_size":"0","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":false,"color":"#ff0000","size":"10","opacity":"50","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#222222","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"10","opacity":"50","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#ffffff","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
'Whix': {"gameoptions":{"ball_transparency":"0","fading_splats":false,"transparent_background":true,"filters_brightness":false,"filters_brightness_value":"80"},"ballglow":{"modify":false,"red_color":"#ff0000","red_opacity":"60","blue_color":"#2591ff","blue_opacity":"70","radius":"60","below":false},"sbpl":{"modify":false,"x":"18","y":"18","color":"#ffd700","opacity":"60"},"gamewallpaper":{"type":"gradient","stretch":true,"gradient_type":"team","gradient_preset":"blue","color":"#000040","color1":"#9696ab","color2":"#222255","bg_random":false,"bg_random_saturation":"50","bg_random_brightness":"50"},"altSpawnShadow":{"modify":false},"modify_TP":{"modify":false,"line_color":"#00ff00","line_opacity":"100","line_width":"2","line_radius":"21","fill_color":"#00ff00","fill_opacity":"0"},"modify_RB":{"modify":false,"line_color":"#ffff00","line_opacity":"100","line_width":"5","line_radius":"14","fill_color":"#ffff00","fill_opacity":"0","speed":"45"},"modify_JJ":{"modify":false,"line_color":"#235957","fill_color":"#40a8a5","x":"5","y":"35","radius":"5"},"textures":{"tiles":"https://i.imgur.com/ne0PP8e.png","speedpad":"/textures/crystal/speedpad.png","speedpadRed":"/textures/crystal/speedpadred.png","speedpadBlue":"/textures/crystal/speedpadblue.png","portal":"https://i.imgur.com/4W0sC4t.png","splats":"https://i.imgur.com/2kLd2Rn.png","gravityWell":"http://i.imgur.com/zPdBr5d.png"},"gravityWell":{"enable":true,"linewidth":"50","color":"#00bb00","opacity":"40","dashsize":"0","useGradient":true},"floortiles":{"modify":false,"plain":false,"tint_color":"#bab5ca","tint_opacity":"30","random":false,"random_saturation":"50","random_brightness":"25","nofloor":false,"specks":false,"specks_color":"#c0c0c0","specks_length":"-5","specks_width":"3","specks_angle":"0","specks_count":"25","specks_opacity":"-30","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"40","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":true,"image_walls_brightness":"65","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"40","image_walls_grayscale":"0","image_walls_sepia":"82","image_walls_huerotate":"90","image_walls_blur":"0","hexagons":false,"hexagons_size":"100","hexagons_linewidth":"1","hexagons_margin":"2","hexagons_blur":"0","hexagons_stroke":false,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"75","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"20","hexagons_fill_gradient":"40","checkered":true,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#0080ff","checkered_altTintOpacity":"8","checkered_random":true,"grids_square":false,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#000000","grids_square_linewidth":"2","grids_square_opacity":"32","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":true,"grids_square_altColor":"#ffffff","grids_diagonal":false,"grids_diagonal_size":"80","grids_diagonal_color":"#000000","grids_diagonal_opacity":"12","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#c0c0c0","gradient_opacity1":"35","gradient_opacity2":"75","gradient_type":"centerline","gradient_repeats":"2","splotches":false,"splotches_color_base":"#800080","splotches_color_scheme":"analogous","splotches_color_opacity":"20","splotches_color_saturation":"70","splotches_color_brightness":"60"},"shapes":{"centerline":true,"centerline_color":"#000000","centerline_width":"1","centerline_dashsize":"5","centerline_opacity":"80","circle":true,"circle_red_color":"#ff4040","circle_blue_color":"#5555ff","circle_yellow_color":"#ffff00","circle_width":"20","circle_radius":"350","circle_opacity":"50","circle_gradient":true,"circle_dashsize":"0","octagon":true,"octagon_red_color":"#ff4040","octagon_blue_color":"#5555ff","octagon_yellow_color":"#ffff00","octagon_width":"4","octagon_radius":"332","octagon_opacity":"40","octagon_sides":"80","octagon_fillopacity":"0","cross":false,"cross_red_color":"#ff4040","cross_blue_color":"#5555ff","cross_yellow_color":"#ffff00","cross_width":"1","cross_radius_inner":"8","cross_radius_outer":"500","cross_opacity":"80","octagon_fillgradient":true},"walls":{"modify":true,"color":"#000000","opacity":"0","brightness":"90","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#ffffff","specks_length":"1","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":false,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"10","checkered_random":true,"grids_square":true,"grids_square_size":"5","grids_square_margin":"0","grids_square_color":"#303030","grids_square_linewidth":"3","grids_square_opacity":"10","grids_square_dashed":"3","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#ffffff","grids_diagonal":true,"grids_diagonal_size":"10","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"5","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#0080c0","gradient_opacity1":"20","gradient_opacity2":"20","gradient_type":"randomcircles","gradient_repeats":"40","splotches":true,"splotches_color_base":"#400080","splotches_color_scheme":"complementary","splotches_color_opacity":"35","splotches_color_saturation":"40","splotches_color_brightness":"40","separatelayer":false},"glow":{"boosts_red":false,"boosts_red_color":"#ff4040","boosts_red_radius":"40","boosts_red_opacity":"25","boosts_blue":false,"boosts_blue_color":"#5555ff","boosts_blue_radius":"40","boosts_blue_opacity":"25","boosts_yellow":false,"boosts_yellow_color":"#ffff00","boosts_yellow_radius":"40","boosts_yellow_opacity":"30","flags_red":false,"flags_red_color":"#ff4040","flags_red_radius":"125","flags_red_opacity":"35","flags_blue":false,"flags_blue_color":"#5555ff","flags_blue_radius":"125","flags_blue_opacity":"35","flags_yellow":false,"flags_yellow_color":"#ffff80","flags_yellow_radius":"100","flags_yellow_opacity":"50","spikes":true,"spikes_color":"#ffffff","spikes_radius":"20","spikes_opacity":"100","bombs":false,"bombs_color":"#bb00bb","bombs_radius":"20","bombs_opacity":"75","pups":true,"pups_color":"#ff7700","pups_radius":"40","pups_opacity":"15"},"spikes":{"modify":true,"color":"#000000","opacity":"0","brightness":"30","contrast":"100","sepia":"0","shadow":true,"shadow_size":"2","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"59","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_width":"2","shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"4","shapes_star_inner":"5","shapes_star_outer":"12","shapes_star_border":false,"shapes_star_border_color":"#dddddd","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#cccccc","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},"bombs":{"modify":true,"color":"#ffffff","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":true,"shadow_size":"0","shadow_blur":"3","shadow_color":"#ff00ff","shadow_opacity":"50"},"pups":{"tp_modify":false,"tp_color":"#00ff00","tp_opacity":"40","rb_modify":false,"rb_color":"#ff7700","rb_opacity":"40","jj_modify":false,"jj_color":"#0080ff","jj_opacity":"40","shadow":true,"shadow_size":"1","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"50"},"gates":{"neutral":true,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"39","neutral_fill_margin":"0","neutral_pattern":true,"neutral_pattern_color":"#535353","neutral_pattern_opacity":"40","neutral_pattern_size":"20","neutral_pattern_margin":"2","neutral_pattern_linewidth":"1","neutral_pattern_stroke":false,"neutral_pattern_fill":true,"neutral_pattern_pyramid":true,"neutral_border":false,"neutral_border_color":"#8c8c8c","neutral_border_linewidth":"1","neutral_border_margin":"0","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"2","neutral_cross_margin":"0","green":true,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"39","green_fill_margin":"0","green_pattern":true,"green_pattern_color":"#00dd00","green_pattern_opacity":"80","green_pattern_size":"20","green_pattern_margin":"2","green_pattern_linewidth":"1","green_pattern_stroke":false,"green_pattern_fill":true,"green_pattern_pyramid":true,"green_border":false,"green_border_color":"#8b8b8b","green_border_linewidth":"1","green_border_margin":"0","green_cross":false,"green_cross_color":"#009900","green_cross_opacity":"50","green_cross_linewidth":"2","green_cross_margin":"0","red":true,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"39","red_fill_margin":"0","red_pattern":true,"red_pattern_color":"#dd0000","red_pattern_opacity":"80","red_pattern_size":"20","red_pattern_margin":"2","red_pattern_linewidth":"1","red_pattern_stroke":false,"red_pattern_fill":true,"red_pattern_pyramid":true,"red_border":false,"red_border_color":"#8a8a8a","red_border_linewidth":"1","red_border_margin":"0","red_cross":false,"red_cross_color":"#ff0000","red_cross_opacity":"50","red_cross_linewidth":"2","red_cross_margin":"0","blue":true,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"39","blue_fill_margin":"0","blue_pattern":true,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"80","blue_pattern_size":"20","blue_pattern_margin":"2","blue_pattern_linewidth":"1","blue_pattern_stroke":false,"blue_pattern_fill":true,"blue_pattern_pyramid":true,"blue_border":false,"blue_border_color":"#8b8b8b","blue_border_linewidth":"1","blue_border_margin":"0","blue_cross":false,"blue_cross_color":"#0080ff","blue_cross_opacity":"50","blue_cross_linewidth":"2","blue_cross_margin":"0","drawFloorUnderneath":true,"original_margin":"0"},"team":{"modify":true,"red_color":"#ff6262","blue_color":"#009be6","yellow_color":"#ffff5b","gradient2_red_color":"#400000","gradient2_blue_color":"#001722","gradient2_yellow_color":"#342701","gradient2_type":"diagonal","gradient2_opacity1":"65","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"5","gradient2_redrawopp":false,"pattern":true,"pattern_size":"4","pattern_margin":"2","pattern_blur":"0","pattern_red_color":"#c0c0c0","pattern_blue_color":"#c0c0c0","pattern_yellow_color":"#c0c0c0","pattern_opacity":"20","pattern_altsides":false,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"100","contrast":"75","sepia":"25","opacity":"65","margin":"0","drawFloorUnderneath":true,"original_margin":"1","pattern_fill":false,"gradient2":true},"endzone":{"modify":false,"red_color":"#ff4040","blue_color":"#5555ff","opacity":"100","margin":"0","checkered":true,"checkered_size":"20","checkered_alt_red_color":"#dddddd","checkered_alt_blue_color":"#dddddd","stripes":false,"stripes_size":"20","stripes_red_color":"#888888","stripes_blue_color":"#888888","border":false,"border_size":"40","border_linewidth":"1","border_red_color":"#dddddd","border_blue_color":"#dddddd","border_opacity":"100","border_count":"1","drawFloorUnderneath":true,"original_margin":"0"},"redball":{"modify":false,"color":"#ff0000","size":"10","opacity":"50","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#222222","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#535353","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_arc_color":"#000000"},"blueball":{"modify":false,"color":"#0080ff","size":"10","opacity":"50","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"3","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_star_fill":true,"shapes_star_fill_color":"#b9b9b9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#ffffff","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1"}},
}
}, floortiles: {
keys: ['floortiles'],
containerId: ['TPE_Presets_FloorTiles'],
presets: {
a: {"modify":true,"plain":true,"tint_color":"#1e1e1e","tint_opacity":"50","random":false,"random_saturation":"15","random_brightness":"75","nofloor":false,"specks":true,"specks_color":"#d1d1d1","specks_length":"1","specks_width":"1","specks_angle":"180","specks_count":"25","specks_opacity":"0","image":false,"image_floor":true,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"30","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"1","image_walls":true,"image_walls_brightness":"65","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"40","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"1","hexagons":true,"hexagons_size":"120","hexagons_linewidth":"2","hexagons_margin":"2","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#c0c0c0","hexagons_stroke_opacity":"10","hexagons_stroke_gradient":"15","hexagons_fill":false,"hexagons_fill_color":"#ccffcc","hexagons_fill_opacity":"25","hexagons_fill_gradient":"100","checkered":false,"checkered_size":"200","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"10","grids_square":false,"grids_square_size":"20","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_diagonal":false,"grids_diagonal_size":"160","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"4","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#cccccc","gradient_color2":"#777777","gradient_opacity1":"50","gradient_opacity2":"50","gradient_type":"centerline","gradient_repeats":"2","grids_square_altColor":"#2d0059"},
b: {"modify":true,"plain":true,"tint_color":"#50706b","tint_opacity":"50","random":false,"random_saturation":"15","random_brightness":"75","nofloor":false,"specks":true,"specks_color":"#000000","specks_length":"-25","specks_width":"2","specks_angle":"0","specks_count":"20","specks_opacity":"8","hexagons":false,"hexagons_size":"99","hexagons_linewidth":"2","hexagons_margin":"0","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#ff00ff","hexagons_stroke_opacity":"35","hexagons_stroke_gradient":"65","hexagons_fill":false,"hexagons_fill_color":"#ccffcc","hexagons_fill_opacity":"25","hexagons_fill_gradient":"100","checkered":true,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"9","grids_square":true,"grids_square_size":"40","grids_square_margin":"1","grids_square_color":"#000000","grids_square_linewidth":"1","grids_square_opacity":"30","grids_square_dashed":"0","grids_square_blur":"0","grids_diagonal":false,"grids_diagonal_size":"60","grids_diagonal_color":"#80ff00","grids_diagonal_opacity":"15","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#cccccc","gradient_color2":"#777777","gradient_opacity1":"50","gradient_opacity2":"50","gradient_type":"centerline","gradient_repeats":"2","grids_square_altSides":true,"grids_square_altColor":"#ffffff"},
c: {"modify":true,"plain":true,"tint_color":"#706b50","tint_opacity":"50","random":true,"random_saturation":"15","random_brightness":"75","nofloor":false,"specks":true,"specks_color":"#aeaeae","specks_length":"30","specks_width":"1","specks_angle":"315","specks_count":"2","specks_opacity":"13","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":false,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":false,"hexagons_size":"99","hexagons_linewidth":"2","hexagons_margin":"0","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#ff00ff","hexagons_stroke_opacity":"35","hexagons_stroke_gradient":"65","hexagons_fill":false,"hexagons_fill_color":"#ccffcc","hexagons_fill_opacity":"25","hexagons_fill_gradient":"100","checkered":true,"checkered_size":"19","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"9","grids_square":true,"grids_square_size":"19","grids_square_margin":"1","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"30","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"60","grids_diagonal_color":"#80ff00","grids_diagonal_opacity":"15","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#cccccc","gradient_color2":"#777777","gradient_opacity1":"50","gradient_opacity2":"50","gradient_type":"centerline","gradient_repeats":"2","splotches":true,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"35","splotches_color_saturation":"70","splotches_color_brightness":"60"},
d: {"modify":true,"plain":true,"tint_color":"#413f43","tint_opacity":"50","random":false,"random_saturation":"15","random_brightness":"75","nofloor":false,"specks":true,"specks_color":"#000000","specks_length":"20","specks_width":"10","specks_angle":"0","specks_count":"37","specks_opacity":"6","hexagons":false,"hexagons_size":"99","hexagons_margin":"0","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#ff00ff","hexagons_stroke_opacity":"35","hexagons_stroke_gradient":"65","hexagons_fill":false,"hexagons_fill_color":"#ccffcc","hexagons_fill_opacity":"25","hexagons_fill_gradient":"100","checkered":true,"checkered_random":false,"checkered_altTintColor":"#49b683","checkered_altTintOpacity":"13","grids_square":true,"grids_square_size":"38","grids_square_margin":"2","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"20","grids_square_dashed":"0","grids_square_blur":"0","grids_diagonal":false,"grids_diagonal_size":"40","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"12","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","team_modify":true,"team_red_color":"#ff4040","team_blue_color":"#5555ff","team_gradient":true,"checkered_stripes":false,"grids_square_altSides":false,"grids_square_altColor":"#838383","hexagons_linewidth":"2","checkered_size":"38","checkered_margin":"0"},
e: {"modify":true,"plain":true,"tint_color":"#666666","tint_opacity":"50","random":true,"random_saturation":"10","random_brightness":"90","nofloor":false,"specks":true,"specks_color":"#000000","specks_length":"-50","specks_width":"1","specks_angle":"180","specks_count":"15","specks_opacity":"-4","image":false,"image_floor":true,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":true,"image_walls_brightness":"65","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"40","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"1","hexagons":false,"hexagons_size":"97","hexagons_linewidth":"1","hexagons_margin":"0","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#dbdbdb","hexagons_stroke_opacity":"35","hexagons_stroke_gradient":"0","hexagons_fill":false,"hexagons_fill_color":"#ccffcc","hexagons_fill_opacity":"25","hexagons_fill_gradient":"100","checkered":true,"checkered_size":"240","checkered_margin":"3","checkered_altTintColor":"#000000","checkered_altTintOpacity":"6","grids_square":true,"grids_square_size":"240","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_diagonal":false,"grids_diagonal_size":"40","grids_diagonal_color":"#777777","grids_diagonal_opacity":"65","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#cccccc","gradient_color2":"#777777","gradient_opacity1":"50","gradient_opacity2":"50","gradient_type":"centerline","gradient_repeats":"2","grids_square_altColor":"#ffffff"},
f: {"modify":true,"plain":true,"tint_color":"#b900b9","tint_opacity":"50","random":false,"random_saturation":"20","random_brightness":"60","nofloor":false,"specks":true,"specks_color":"#000000","specks_length":"-50","specks_width":"20","specks_angle":"0","specks_count":"60","specks_opacity":"16","image":false,"image_floor":true,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":true,"image_walls_brightness":"65","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"40","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"1","hexagons":false,"hexagons_size":"65","hexagons_linewidth":"1","hexagons_margin":"6","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"75","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"40","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"50","grids_square":false,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"50","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_diagonal":false,"grids_diagonal_size":"80","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"100","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#eaeaea","gradient_color2":"#313131","gradient_opacity1":"50","gradient_opacity2":"50","gradient_type":"centercircle","gradient_repeats":"2","grids_square_altColor":"#838383"},
g: {"modify":true,"plain":true,"tint_color":"#bebebe","tint_opacity":"50","random":false,"random_saturation":"15","random_brightness":"75","nofloor":false,"specks":false,"specks_color":"#ffffff","specks_length":"-100","specks_width":"1","specks_angle":"180","specks_count":"15","specks_opacity":"5","hexagons":false,"hexagons_size":"65","hexagons_linewidth":"1","hexagons_margin":"6","hexagons_blur":"0","hexagons_stroke":false,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"75","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"40","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"5","grids_square":true,"grids_square_size":"20","grids_square_margin":"9","grids_square_color":"#000000","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"1","grids_diagonal":false,"grids_diagonal_size":"120","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"30","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#8fa28c","gradient_color2":"#ffffbf","gradient_opacity1":"50","gradient_opacity2":"33","gradient_type":"centerline","gradient_repeats":"2","grids_square_altSides":true,"grids_square_altColor":"#000000"},
h: {"modify":true,"plain":true,"tint_color":"#b7b7b7","tint_opacity":"23","random":true,"random_saturation":"10","random_brightness":"90","nofloor":false,"specks":false,"specks_color":"#969696","specks_length":"-80","specks_width":"3","specks_angle":"0","specks_count":"20","specks_opacity":"-10","image":false,"image_floor":true,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"30","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"1","image_walls":true,"image_walls_brightness":"65","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"40","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"1","hexagons":false,"hexagons_size":"65","hexagons_linewidth":"1","hexagons_margin":"6","hexagons_blur":"0","hexagons_stroke":false,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"75","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"40","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"9","grids_square":true,"grids_square_size":"40","grids_square_margin":"2","grids_square_color":"#d6d6d6","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_diagonal":false,"grids_diagonal_size":"120","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"12","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#595959","gradient_color2":"#000000","gradient_opacity1":"39","gradient_opacity2":"49","gradient_type":"centercircle","gradient_repeats":"2","grids_square_altColor":"#000000"},
i: {"modify":true,"plain":true,"tint_color":"#121212","tint_opacity":"60","random":true,"random_saturation":"35","random_brightness":"40","nofloor":false,"specks":false,"specks_color":"#969696","specks_length":"1","specks_width":"1","specks_angle":"0","specks_count":"25","specks_opacity":"0","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":false,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":false,"hexagons_size":"100","hexagons_linewidth":"1","hexagons_margin":"1","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#c1c1c1","hexagons_stroke_opacity":"50","hexagons_stroke_gradient":"20","hexagons_fill":false,"hexagons_fill_color":"#2a2a2a","hexagons_fill_opacity":"40","hexagons_fill_gradient":"31","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#ffffff","checkered_altTintOpacity":"1","grids_square":true,"grids_square_size":"4","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"5","grids_square_opacity":"30","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_diagonal":false,"grids_diagonal_size":"10","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"19","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#7dbeff","gradient_color2":"#001428","gradient_opacity1":"21","gradient_opacity2":"20","gradient_type":"randomcircles","gradient_repeats":"10","grids_square_altColor":"#353535"},
j: {"modify":true,"plain":true,"tint_color":"#e4e4e4","tint_opacity":"60","random":false,"random_saturation":"35","random_brightness":"40","nofloor":false,"specks":false,"specks_color":"#969696","specks_length":"1","specks_width":"1","specks_angle":"0","specks_count":"25","specks_opacity":"0","image":false,"image_floor":false,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"100","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"0","image_walls":false,"image_walls_brightness":"100","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"100","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"0","hexagons":false,"hexagons_size":"100","hexagons_linewidth":"1","hexagons_margin":"1","hexagons_blur":"0","hexagons_stroke":true,"hexagons_stroke_color":"#c1c1c1","hexagons_stroke_opacity":"50","hexagons_stroke_gradient":"20","hexagons_fill":false,"hexagons_fill_color":"#2a2a2a","hexagons_fill_opacity":"40","hexagons_fill_gradient":"31","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#ffffff","checkered_altTintOpacity":"1","checkered_random":false,"grids_square":true,"grids_square_size":"36","grids_square_margin":"0","grids_square_color":"#000000","grids_square_linewidth":"10","grids_square_opacity":"15","grids_square_dashed":"36","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#353535","grids_diagonal":false,"grids_diagonal_size":"10","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"19","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#7dbeff","gradient_color2":"#001428","gradient_opacity1":"15","gradient_opacity2":"25","gradient_type":"randomcircles","gradient_repeats":"10","splotches":false,"splotches_color_base":"#000000","splotches_color_scheme":"normal","splotches_color_opacity":"35","splotches_color_saturation":"70","splotches_color_brightness":"60"},
k: {"modify":true,"plain":true,"tint_color":"#000000","tint_opacity":"30","random":false,"random_saturation":"10","random_brightness":"61","nofloor":false,"specks":false,"specks_color":"#4b4b4b","specks_length":"3","specks_width":"1","specks_angle":"0","specks_count":"40","specks_opacity":"-20","image":false,"image_floor":true,"image_brightness":"100","image_contrast":"100","image_saturation":"100","image_opacity":"30","image_grayscale":"0","image_sepia":"0","image_huerotate":"0","image_blur":"1","image_walls":true,"image_walls_brightness":"65","image_walls_contrast":"100","image_walls_saturation":"100","image_walls_opacity":"40","image_walls_grayscale":"0","image_walls_sepia":"0","image_walls_huerotate":"0","image_walls_blur":"1","hexagons":false,"hexagons_size":"86","hexagons_linewidth":"1","hexagons_margin":"4","hexagons_blur":"0","hexagons_stroke":false,"hexagons_stroke_color":"#3e3e3e","hexagons_stroke_opacity":"75","hexagons_stroke_gradient":"0","hexagons_fill":true,"hexagons_fill_color":"#000000","hexagons_fill_opacity":"20","hexagons_fill_gradient":"0","checkered":false,"checkered_size":"40","checkered_margin":"0","checkered_altTintColor":"#000000","checkered_altTintOpacity":"1","checkered_random":false,"grids_square":false,"grids_square_size":"40","grids_square_margin":"0","grids_square_color":"#9e9e9e","grids_square_linewidth":"1","grids_square_opacity":"100","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#ffffff","grids_diagonal":true,"grids_diagonal_size":"120","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"12","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"13","gradient_opacity2":"20","gradient_type":"randomcircles","gradient_repeats":"30","splotches":true,"splotches_color_base":"#0080ff","splotches_color_scheme":"analogous","splotches_color_opacity":"20","splotches_color_saturation":"100","splotches_color_brightness":"75"},
}
}, walls: {
keys: ['walls'],
containerId: ['TPE_Presets_Walls'],
presets: {
a: {"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#ffffff","specks_length":"1","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":true,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"5","grids_square":false,"grids_square_size":"5","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"10","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"centercircle","gradient_repeats":"20","splotches":false,"splotches_color_base":"#8080c0","splotches_color_scheme":"normal","splotches_color_opacity":"25","splotches_color_saturation":"50","splotches_color_brightness":"30"},
b: {"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#ffffff","specks_length":"1","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":false,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"10","grids_square":false,"grids_square_size":"5","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"10","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"5","grids_diagonal_dashed":"0","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#cccccc","gradient_color2":"#525252","gradient_opacity1":"50","gradient_opacity2":"50","gradient_type":"randomcircles","gradient_repeats":"40","splotches":false,"splotches_color_base":"#8080c0","splotches_color_scheme":"normal","splotches_color_opacity":"25","splotches_color_saturation":"50","splotches_color_brightness":"30"},
c: {"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#ffffff","specks_length":"1","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":false,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"10","grids_square":false,"grids_square_size":"5","grids_square_margin":"0","grids_square_color":"#ffffff","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"0","grids_square_altSides":false,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"8","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#cccccc","gradient_color2":"#525252","gradient_opacity1":"50","gradient_opacity2":"50","gradient_type":"randomcircles","gradient_repeats":"40","splotches":false,"splotches_color_base":"#8080c0","splotches_color_scheme":"normal","splotches_color_opacity":"25","splotches_color_saturation":"50","splotches_color_brightness":"30"},
d: {"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#ffffff","specks_length":"1","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":false,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"16","grids_square":true,"grids_square_size":"10","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"10","grids_square_dashed":"0","grids_square_blur":"2","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#cccccc","gradient_color2":"#525252","gradient_opacity1":"50","gradient_opacity2":"50","gradient_type":"randomcircles","gradient_repeats":"40","splotches":false,"splotches_color_base":"#8080c0","splotches_color_scheme":"normal","splotches_color_opacity":"25","splotches_color_saturation":"50","splotches_color_brightness":"30"},
e: {"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":true,"specks_color":"#a8a8a8","specks_length":"-40","specks_width":"10","specks_angle":"135","specks_count":"60","specks_opacity":"-5","checkered":false,"checkered_size":"5","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"16","grids_square":false,"grids_square_size":"10","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"15","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":false,"gradient_color1":"#cccccc","gradient_color2":"#525252","gradient_opacity1":"50","gradient_opacity2":"50","gradient_type":"randomcircles","gradient_repeats":"40","splotches":false,"splotches_color_base":"#8080c0","splotches_color_scheme":"normal","splotches_color_opacity":"25","splotches_color_saturation":"50","splotches_color_brightness":"30"},
f: {"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#000000","specks_length":"-2","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":true,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"5","grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":false,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#cccccc","gradient_color2":"#525252","gradient_opacity1":"50","gradient_opacity2":"50","gradient_type":"centercircle","gradient_repeats":"10","splotches":false,"splotches_color_base":"#8080c0","splotches_color_scheme":"normal","splotches_color_opacity":"25","splotches_color_saturation":"50","splotches_color_brightness":"30"},
g: {"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#4f4f4f","specks_length":"-2","specks_width":"1","specks_angle":"0","specks_count":"75","specks_opacity":"-35","checkered":true,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"4","grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"3","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"centercircle","gradient_repeats":"20","splotches":false,"splotches_color_base":"#8080c0","splotches_color_scheme":"normal","splotches_color_opacity":"25","splotches_color_saturation":"50","splotches_color_brightness":"30"},
h: {"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#400080","specks_length":"-14","specks_width":"1","specks_angle":"0","specks_count":"88","specks_opacity":"-73","checkered":false,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"5","grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"randomcircles","gradient_repeats":"20","splotches":true,"splotches_color_base":"#800080","splotches_color_saturation":"95","splotches_color_brightness":"10","splotches_color_opacity":"80","splotches_color_scheme":"triadic"},
i: {"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#400080","specks_length":"-14","specks_width":"1","specks_angle":"0","specks_count":"88","specks_opacity":"-73","checkered":false,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"5","grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"5","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"randomcircles","gradient_repeats":"20","splotches":true,"splotches_color_base":"#8080c0","splotches_color_scheme":"analogous","splotches_color_opacity":"20","splotches_color_saturation":"30","splotches_color_brightness":"35"},
j: {"modify":true,"color":"#000000","opacity":"0","brightness":"200","contrast":"70","sepia":"0","invert":"100","shadow":false,"shadow_color":"#ffffff","shadow_size":"2","shadow_blur":"4","shadow_opacity":"55","shadow_include_gates":false,"specks":false,"specks_color":"#400080","specks_length":"-14","specks_width":"1","specks_angle":"0","specks_count":"88","specks_opacity":"-73","checkered":false,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"5","grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"10","grids_diagonal_dashed":"2","grids_diagonal_blur":"0","gradient":true,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"randomcircles","gradient_repeats":"20","splotches":true,"splotches_color_base":"#8080ff","splotches_color_scheme":"normal","splotches_color_opacity":"50","splotches_color_saturation":"50","splotches_color_brightness":"20"},
k: {"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","invert":"0","shadow":true,"shadow_color":"#000000","shadow_size":"2","shadow_blur":"4","shadow_opacity":"40","shadow_include_gates":false,"specks":false,"specks_color":"#400080","specks_length":"-14","specks_width":"1","specks_angle":"0","specks_count":"88","specks_opacity":"-73","checkered":false,"checkered_size":"3","checkered_margin":"0","checkered_altTintColor":"#fdfdfd","checkered_altTintOpacity":"5","checkered_random":false,"grids_square":false,"grids_square_size":"7","grids_square_margin":"1","grids_square_color":"#fbfbfb","grids_square_linewidth":"1","grids_square_opacity":"12","grids_square_dashed":"0","grids_square_blur":"1","grids_square_altSides":true,"grids_square_altColor":"#000000","grids_diagonal":true,"grids_diagonal_size":"6","grids_diagonal_color":"#ffffff","grids_diagonal_opacity":"8","grids_diagonal_dashed":"6","grids_diagonal_blur":"1","gradient":false,"gradient_color1":"#000000","gradient_color2":"#ffffff","gradient_opacity1":"8","gradient_opacity2":"23","gradient_type":"randomcircles","gradient_repeats":"20","splotches":true,"splotches_color_base":"#ffffff","splotches_color_scheme":"normal","splotches_color_opacity":"28","splotches_color_saturation":"95","splotches_color_brightness":"10","separatelayer":false},
}
}, gates: {
keys: ['gates'],
containerId: ['TPE_Presets_Gates'],
presets: {
a: {"neutral":true,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"39","neutral_fill_margin":"0","neutral_pattern":true,"neutral_pattern_color":"#535353","neutral_pattern_opacity":"100","neutral_pattern_size":"20","neutral_pattern_margin":"2","neutral_pattern_stroke":false,"neutral_pattern_fill":true,"neutral_pattern_pyramid":true,"neutral_border":false,"neutral_border_color":"#8c8c8c","neutral_border_linewidth":"1","neutral_border_margin":"0","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"2","neutral_cross_margin":"0","green":true,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"39","green_fill_margin":"0","green_pattern":true,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"20","green_pattern_margin":"2","green_pattern_stroke":false,"green_pattern_fill":true,"green_pattern_pyramid":true,"green_border":false,"green_border_color":"#8b8b8b","green_border_linewidth":"1","green_border_margin":"0","green_cross":false,"green_cross_color":"#009900","green_cross_opacity":"50","green_cross_linewidth":"2","green_cross_margin":"0","red":true,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"39","red_fill_margin":"0","red_pattern":true,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"20","red_pattern_margin":"2","red_pattern_stroke":false,"red_pattern_fill":true,"red_pattern_pyramid":true,"red_border":false,"red_border_color":"#8a8a8a","red_border_linewidth":"1","red_border_margin":"0","red_cross":false,"red_cross_color":"#ff0000","red_cross_opacity":"50","red_cross_linewidth":"2","red_cross_margin":"0","blue":true,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"39","blue_fill_margin":"0","blue_pattern":true,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"20","blue_pattern_margin":"2","blue_pattern_stroke":false,"blue_pattern_fill":true,"blue_pattern_pyramid":true,"blue_border":false,"blue_border_color":"#8b8b8b","blue_border_linewidth":"1","blue_border_margin":"0","blue_cross":false,"blue_cross_color":"#0080ff","blue_cross_opacity":"50","blue_cross_linewidth":"2","blue_cross_margin":"0","drawFloorUnderneath":true,"original_margin":"0"},
b: {"neutral":true,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"39","neutral_fill_margin":"0","neutral_pattern":false,"neutral_pattern_color":"#535353","neutral_pattern_opacity":"100","neutral_pattern_size":"10","neutral_pattern_margin":"1","neutral_pattern_stroke":true,"neutral_pattern_fill":false,"neutral_pattern_pyramid":true,"neutral_border":false,"neutral_border_color":"#8c8c8c","neutral_border_linewidth":"1","neutral_border_margin":"0","neutral_cross":true,"neutral_cross_color":"#818181","neutral_cross_opacity":"75","neutral_cross_linewidth":"10","neutral_cross_margin":"0","green":true,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"39","green_fill_margin":"0","green_pattern":false,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"10","green_pattern_margin":"1","green_pattern_stroke":true,"green_pattern_fill":false,"green_pattern_pyramid":true,"green_border":false,"green_border_color":"#8b8b8b","green_border_linewidth":"1","green_border_margin":"0","green_cross":true,"green_cross_color":"#009900","green_cross_opacity":"75","green_cross_linewidth":"10","green_cross_margin":"0","red":true,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"39","red_fill_margin":"0","red_pattern":false,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"10","red_pattern_margin":"1","red_pattern_stroke":true,"red_pattern_fill":false,"red_pattern_pyramid":true,"red_border":false,"red_border_color":"#8a8a8a","red_border_linewidth":"1","red_border_margin":"0","red_cross":true,"red_cross_color":"#ff0000","red_cross_opacity":"75","red_cross_linewidth":"10","red_cross_margin":"0","blue":true,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"39","blue_fill_margin":"0","blue_pattern":false,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"10","blue_pattern_margin":"1","blue_pattern_stroke":true,"blue_pattern_fill":false,"blue_pattern_pyramid":true,"blue_border":false,"blue_border_color":"#8b8b8b","blue_border_linewidth":"1","blue_border_margin":"0","blue_cross":true,"blue_cross_color":"#0080ff","blue_cross_opacity":"75","blue_cross_linewidth":"10","blue_cross_margin":"0","drawFloorUnderneath":true,"original_margin":"0"},
c: {"neutral":true,"neutral_fill":true,"neutral_fill_color":"#999999","neutral_fill_opacity":"39","neutral_fill_margin":"0","neutral_pattern":true,"neutral_pattern_color":"#535353","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"10","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":false,"neutral_border_color":"#3e3e3e","neutral_border_linewidth":"1","neutral_border_margin":"0","neutral_cross":true,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"2","neutral_cross_margin":"10","green":true,"green_fill":true,"green_fill_color":"#00cc00","green_fill_opacity":"39","green_fill_margin":"0","green_pattern":true,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"10","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":false,"green_border_color":"#8b8b8b","green_border_linewidth":"1","green_border_margin":"0","green_cross":true,"green_cross_color":"#004600","green_cross_opacity":"50","green_cross_linewidth":"2","green_cross_margin":"10","red":true,"red_fill":true,"red_fill_color":"#cc0000","red_fill_opacity":"39","red_fill_margin":"0","red_pattern":true,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"10","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":false,"red_border_color":"#8a8a8a","red_border_linewidth":"1","red_border_margin":"0","red_cross":true,"red_cross_color":"#460000","red_cross_opacity":"50","red_cross_linewidth":"2","red_cross_margin":"10","blue":true,"blue_fill":true,"blue_fill_color":"#0080ff","blue_fill_opacity":"39","blue_fill_margin":"0","blue_pattern":true,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"10","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":false,"blue_border_color":"#8b8b8b","blue_border_linewidth":"1","blue_border_margin":"0","blue_cross":true,"blue_cross_color":"#00274f","blue_cross_opacity":"50","blue_cross_linewidth":"2","blue_cross_margin":"10","drawFloorUnderneath":true,"original_margin":"1"},
d: {"neutral":true,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"39","neutral_fill_margin":"0","neutral_pattern":true,"neutral_pattern_color":"#535353","neutral_pattern_opacity":"100","neutral_pattern_size":"10","neutral_pattern_margin":"5","neutral_pattern_stroke":false,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":true,"neutral_border_color":"#3e3e3e","neutral_border_linewidth":"1","neutral_border_margin":"0","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"2","neutral_cross_margin":"10","green":true,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"39","green_fill_margin":"0","green_pattern":true,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"10","green_pattern_margin":"5","green_pattern_stroke":false,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":true,"green_border_color":"#00ff00","green_border_linewidth":"1","green_border_margin":"0","green_cross":false,"green_cross_color":"#004600","green_cross_opacity":"50","green_cross_linewidth":"2","green_cross_margin":"10","red":true,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"39","red_fill_margin":"0","red_pattern":true,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"10","red_pattern_margin":"5","red_pattern_stroke":false,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":true,"red_border_color":"#ff0000","red_border_linewidth":"1","red_border_margin":"0","red_cross":false,"red_cross_color":"#460000","red_cross_opacity":"50","red_cross_linewidth":"2","red_cross_margin":"10","blue":true,"blue_fill":false,"blue_fill_color":"#0080ff","blue_fill_opacity":"39","blue_fill_margin":"0","blue_pattern":true,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"10","blue_pattern_margin":"5","blue_pattern_stroke":false,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":true,"blue_border_color":"#0080ff","blue_border_linewidth":"1","blue_border_margin":"0","blue_cross":false,"blue_cross_color":"#00274f","blue_cross_opacity":"50","blue_cross_linewidth":"2","blue_cross_margin":"10","drawFloorUnderneath":true,"original_margin":"1"},
e: {"neutral":true,"neutral_fill":true,"neutral_fill_color":"#525252","neutral_fill_opacity":"39","neutral_fill_margin":"0","neutral_pattern":true,"neutral_pattern_color":"#666666","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"10","neutral_pattern_linewidth":"2","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":true,"neutral_border_color":"#5f5f5f","neutral_border_linewidth":"1","neutral_border_margin":"13","neutral_cross":false,"neutral_cross_color":"#797979","neutral_cross_opacity":"50","neutral_cross_linewidth":"1","neutral_cross_margin":"0","green":true,"green_fill":true,"green_fill_color":"#00cc00","green_fill_opacity":"39","green_fill_margin":"0","green_pattern":true,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"10","green_pattern_linewidth":"2","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":true,"green_border_color":"#00ff00","green_border_linewidth":"1","green_border_margin":"13","green_cross":false,"green_cross_color":"#00ff00","green_cross_opacity":"50","green_cross_linewidth":"1","green_cross_margin":"0","red":true,"red_fill":true,"red_fill_color":"#cc0000","red_fill_opacity":"39","red_fill_margin":"0","red_pattern":true,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"10","red_pattern_linewidth":"2","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":true,"red_border_color":"#ff0000","red_border_linewidth":"1","red_border_margin":"13","red_cross":false,"red_cross_color":"#ff0000","red_cross_opacity":"50","red_cross_linewidth":"1","red_cross_margin":"0","blue":true,"blue_fill":true,"blue_fill_color":"#0080ff","blue_fill_opacity":"39","blue_fill_margin":"0","blue_pattern":true,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"10","blue_pattern_linewidth":"2","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":true,"blue_border_color":"#0080ff","blue_border_linewidth":"1","blue_border_margin":"13","blue_cross":false,"blue_cross_color":"#0080ff","blue_cross_opacity":"50","blue_cross_linewidth":"1","blue_cross_margin":"0","drawFloorUnderneath":true,"original_margin":"1"},
f: {"neutral":true,"neutral_fill":true,"neutral_fill_color":"#999999","neutral_fill_opacity":"39","neutral_fill_margin":"0","neutral_pattern":true,"neutral_pattern_color":"#535353","neutral_pattern_opacity":"100","neutral_pattern_size":"40","neutral_pattern_margin":"0","neutral_pattern_stroke":false,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":true,"neutral_border_color":"#8c8c8c","neutral_border_linewidth":"1","neutral_border_margin":"0","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"2","neutral_cross_margin":"0","green":true,"green_fill":true,"green_fill_color":"#00cc00","green_fill_opacity":"39","green_fill_margin":"0","green_pattern":true,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"40","green_pattern_margin":"0","green_pattern_stroke":false,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":true,"green_border_color":"#00ff00","green_border_linewidth":"1","green_border_margin":"0","green_cross":false,"green_cross_color":"#009900","green_cross_opacity":"50","green_cross_linewidth":"2","green_cross_margin":"0","red":true,"red_fill":true,"red_fill_color":"#cc0000","red_fill_opacity":"39","red_fill_margin":"0","red_pattern":true,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"40","red_pattern_margin":"0","red_pattern_stroke":false,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":true,"red_border_color":"#ff0000","red_border_linewidth":"1","red_border_margin":"0","red_cross":false,"red_cross_color":"#ff0000","red_cross_opacity":"50","red_cross_linewidth":"2","red_cross_margin":"0","blue":true,"blue_fill":true,"blue_fill_color":"#0080ff","blue_fill_opacity":"39","blue_fill_margin":"0","blue_pattern":true,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"40","blue_pattern_margin":"0","blue_pattern_stroke":false,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":true,"blue_border_color":"#0080ff","blue_border_linewidth":"1","blue_border_margin":"0","blue_cross":false,"blue_cross_color":"#0080ff","blue_cross_opacity":"50","blue_cross_linewidth":"2","blue_cross_margin":"0","drawFloorUnderneath":true,"original_margin":"1"},
g: {"neutral":true,"neutral_fill":false,"neutral_fill_color":"#999999","neutral_fill_opacity":"39","neutral_fill_margin":"0","neutral_pattern":true,"neutral_pattern_color":"#535353","neutral_pattern_opacity":"100","neutral_pattern_size":"5","neutral_pattern_margin":"3","neutral_pattern_stroke":true,"neutral_pattern_fill":true,"neutral_pattern_pyramid":false,"neutral_border":false,"neutral_border_color":"#8c8c8c","neutral_border_linewidth":"1","neutral_border_margin":"0","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"50","neutral_cross_linewidth":"2","neutral_cross_margin":"0","green":true,"green_fill":false,"green_fill_color":"#00cc00","green_fill_opacity":"39","green_fill_margin":"0","green_pattern":true,"green_pattern_color":"#00dd00","green_pattern_opacity":"100","green_pattern_size":"5","green_pattern_margin":"3","green_pattern_stroke":true,"green_pattern_fill":true,"green_pattern_pyramid":false,"green_border":false,"green_border_color":"#8b8b8b","green_border_linewidth":"1","green_border_margin":"0","green_cross":false,"green_cross_color":"#009900","green_cross_opacity":"50","green_cross_linewidth":"2","green_cross_margin":"0","red":true,"red_fill":false,"red_fill_color":"#cc0000","red_fill_opacity":"39","red_fill_margin":"0","red_pattern":true,"red_pattern_color":"#dd0000","red_pattern_opacity":"100","red_pattern_size":"5","red_pattern_margin":"3","red_pattern_stroke":true,"red_pattern_fill":true,"red_pattern_pyramid":false,"red_border":false,"red_border_color":"#8a8a8a","red_border_linewidth":"1","red_border_margin":"0","red_cross":false,"red_cross_color":"#ff0000","red_cross_opacity":"50","red_cross_linewidth":"2","red_cross_margin":"0","blue":true,"blue_fill":false,"blue_fill_color":"#0000cc","blue_fill_opacity":"39","blue_fill_margin":"0","blue_pattern":true,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"100","blue_pattern_size":"5","blue_pattern_margin":"3","blue_pattern_stroke":true,"blue_pattern_fill":true,"blue_pattern_pyramid":false,"blue_border":false,"blue_border_color":"#8b8b8b","blue_border_linewidth":"1","blue_border_margin":"0","blue_cross":false,"blue_cross_color":"#0080ff","blue_cross_opacity":"50","blue_cross_linewidth":"2","blue_cross_margin":"0","drawFloorUnderneath":true,"original_margin":"0"},
h: {"neutral":true,"neutral_fill":true,"neutral_fill_color":"#d4d4d4","neutral_fill_opacity":"100","neutral_fill_margin":"0","neutral_pattern":true,"neutral_pattern_color":"#9f9f9f","neutral_pattern_opacity":"76","neutral_pattern_size":"8","neutral_pattern_margin":"0","neutral_pattern_stroke":false,"neutral_pattern_fill":false,"neutral_pattern_pyramid":false,"neutral_border":true,"neutral_border_color":"#9f9f9f","neutral_border_linewidth":"1","neutral_border_margin":"1","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"33","neutral_cross_linewidth":"1","neutral_cross_margin":"6","green":true,"green_fill":true,"green_fill_color":"#005500","green_fill_opacity":"100","green_fill_margin":"0","green_pattern":true,"green_pattern_color":"#00dd00","green_pattern_opacity":"76","green_pattern_size":"8","green_pattern_margin":"0","green_pattern_stroke":false,"green_pattern_fill":false,"green_pattern_pyramid":false,"green_border":true,"green_border_color":"#00ff00","green_border_linewidth":"1","green_border_margin":"1","green_cross":false,"green_cross_color":"#00ff00","green_cross_opacity":"33","green_cross_linewidth":"1","green_cross_margin":"6","red":true,"red_fill":true,"red_fill_color":"#530000","red_fill_opacity":"100","red_fill_margin":"0","red_pattern":true,"red_pattern_color":"#dd0000","red_pattern_opacity":"76","red_pattern_size":"8","red_pattern_margin":"0","red_pattern_stroke":false,"red_pattern_fill":false,"red_pattern_pyramid":false,"red_border":true,"red_border_color":"#ff0000","red_border_linewidth":"1","red_border_margin":"1","red_cross":false,"red_cross_color":"#ff0000","red_cross_opacity":"33","red_cross_linewidth":"1","red_cross_margin":"6","blue":true,"blue_fill":true,"blue_fill_color":"#0054a8","blue_fill_opacity":"100","blue_fill_margin":"0","blue_pattern":true,"blue_pattern_color":"#0080ff","blue_pattern_opacity":"76","blue_pattern_size":"8","blue_pattern_margin":"0","blue_pattern_stroke":false,"blue_pattern_fill":false,"blue_pattern_pyramid":false,"blue_border":true,"blue_border_color":"#0080ff","blue_border_linewidth":"1","blue_border_margin":"1","blue_cross":false,"blue_cross_color":"#64b1ff","blue_cross_opacity":"33","blue_cross_linewidth":"1","blue_cross_margin":"6","drawFloorUnderneath":true,"original_margin":"0"},
i: {"neutral":true,"neutral_fill":true,"neutral_fill_color":"#aeaeae","neutral_fill_opacity":"100","neutral_fill_margin":"0","neutral_pattern":true,"neutral_pattern_color":"#484848","neutral_pattern_opacity":"76","neutral_pattern_size":"40","neutral_pattern_margin":"5","neutral_pattern_linewidth":"2","neutral_pattern_stroke":true,"neutral_pattern_fill":false,"neutral_pattern_pyramid":false,"neutral_border":false,"neutral_border_color":"#9f9f9f","neutral_border_linewidth":"1","neutral_border_margin":"1","neutral_cross":false,"neutral_cross_color":"#000000","neutral_cross_opacity":"33","neutral_cross_linewidth":"1","neutral_cross_margin":"14","green":true,"green_fill":true,"green_fill_color":"#00cc00","green_fill_opacity":"100","green_fill_margin":"0","green_pattern":true,"green_pattern_color":"#005e00","green_pattern_opacity":"76","green_pattern_size":"40","green_pattern_margin":"5","green_pattern_linewidth":"2","green_pattern_stroke":true,"green_pattern_fill":false,"green_pattern_pyramid":false,"green_border":false,"green_border_color":"#00ff00","green_border_linewidth":"1","green_border_margin":"1","green_cross":true,"green_cross_color":"#000000","green_cross_opacity":"33","green_cross_linewidth":"1","green_cross_margin":"14","red":true,"red_fill":true,"red_fill_color":"#e60000","red_fill_opacity":"100","red_fill_margin":"0","red_pattern":true,"red_pattern_color":"#770000","red_pattern_opacity":"76","red_pattern_size":"40","red_pattern_margin":"5","red_pattern_linewidth":"2","red_pattern_stroke":true,"red_pattern_fill":false,"red_pattern_pyramid":false,"red_border":false,"red_border_color":"#ff0000","red_border_linewidth":"1","red_border_margin":"1","red_cross":true,"red_cross_color":"#000000","red_cross_opacity":"33","red_cross_linewidth":"1","red_cross_margin":"14","blue":true,"blue_fill":true,"blue_fill_color":"#0074e8","blue_fill_opacity":"100","blue_fill_margin":"0","blue_pattern":true,"blue_pattern_color":"#004080","blue_pattern_opacity":"76","blue_pattern_size":"40","blue_pattern_margin":"5","blue_pattern_linewidth":"2","blue_pattern_stroke":true,"blue_pattern_fill":false,"blue_pattern_pyramid":false,"blue_border":false,"blue_border_color":"#0080ff","blue_border_linewidth":"1","blue_border_margin":"1","blue_cross":true,"blue_cross_color":"#000000","blue_cross_opacity":"33","blue_cross_linewidth":"1","blue_cross_margin":"14","drawFloorUnderneath":true,"original_margin":"1"},
}
}, team: {
keys: ['team'],
containerId: ['TPE_Presets_TeamTiles'],
presets: {
a: {"modify":true,"red_color":"#d50000","blue_color":"#4040ff","yellow_color":"#ffff3e","gradient2_red_color":"#ff8080","gradient2_blue_color":"#55aaff","gradient2_yellow_color":"#828200","gradient2_type":"diagonal","gradient2_opacity1":"100","gradient2_opacity2":"100","gradient2_repeats":"4","gradient2_roundedrect":"5","gradient2_redrawopp":false,"pattern":false,"pattern_size":"6","pattern_margin":"1","pattern_blur":"1","pattern_red_color":"#ff0000","pattern_blue_color":"#0080ff","pattern_yellow_color":"#ffff00","pattern_opacity":"40","pattern_altsides":true,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"80","contrast":"80","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"1","pattern_fill":true,"gradient2":true},
b: {"modify":true,"red_color":"#d50000","blue_color":"#0080c0","yellow_color":"#ffff00","gradient2_red_color":"#ff8080","gradient2_blue_color":"#71a6ff","gradient2_yellow_color":"#ffffa4","gradient2_type":"horizontal","gradient2_opacity1":"0","gradient2_opacity2":"65","gradient2_repeats":"8","gradient2_roundedrect":"0","gradient2_redrawopp":true,"pattern":false,"pattern_size":"10","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080c0","pattern_yellow_color":"#ffff00","pattern_opacity":"40","pattern_altsides":true,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"80","contrast":"100","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"0","gradient2":true,"pattern_fill":false},
c: {"modify":true,"red_color":"#d50000","blue_color":"#0080c0","yellow_color":"#ffff00","gradient2_red_color":"#ff8080","gradient2_blue_color":"#2291ff","gradient2_yellow_color":"#ffffa4","gradient2_type":"centercircle","gradient2_opacity1":"0","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"2","gradient2_redrawopp":true,"pattern":false,"pattern_size":"10","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080c0","pattern_yellow_color":"#ffff00","pattern_opacity":"40","pattern_altsides":true,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"80","contrast":"100","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"1","gradient2":true,"pattern_fill":false},
d: {"modify":true,"red_color":"#ff4f4f","blue_color":"#2d96ff","yellow_color":"#ffff5b","gradient2_red_color":"#ff3535","gradient2_blue_color":"#359aff","gradient2_yellow_color":"#ffff77","gradient2_type":"randomcircles","gradient2_opacity1":"50","gradient2_opacity2":"40","gradient2_repeats":"10","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":false,"pattern_size":"10","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080c0","pattern_yellow_color":"#ffff00","pattern_opacity":"40","pattern_altsides":true,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"100","contrast":"100","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"1","gradient2":true,"pattern_fill":false},
e: {"modify":true,"red_color":"#ff4f4f","blue_color":"#0080ff","yellow_color":"#ffff5b","gradient2_red_color":"#f20000","gradient2_blue_color":"#0088ca","gradient2_yellow_color":"#fdc724","gradient2_type":"randomsquares","gradient2_opacity1":"65","gradient2_opacity2":"100","gradient2_repeats":"4","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":true,"pattern_size":"4","pattern_margin":"2","pattern_blur":"0","pattern_red_color":"#000000","pattern_blue_color":"#000000","pattern_yellow_color":"#000000","pattern_opacity":"10","pattern_altsides":false,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"100","contrast":"100","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"1","gradient2":true,"pattern_fill":false},
f: {"modify":true,"red_color":"#ff6262","blue_color":"#009be6","yellow_color":"#ffff5b","gradient2_red_color":"#400000","gradient2_blue_color":"#001722","gradient2_yellow_color":"#342701","gradient2_type":"diagonal","gradient2_opacity1":"65","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"5","gradient2_redrawopp":false,"pattern":false,"pattern_size":"4","pattern_margin":"2","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080c0","pattern_yellow_color":"#ffff00","pattern_opacity":"20","pattern_altsides":false,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"100","contrast":"75","sepia":"25","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"1","gradient2":true,"pattern_fill":false},
g: {"modify":true,"red_color":"#d50000","blue_color":"#0080c0","yellow_color":"#ffff00","gradient2_red_color":"#ff8080","gradient2_blue_color":"#71a6ff","gradient2_yellow_color":"#ffffa4","gradient2_type":"diagonal","gradient2_opacity1":"35","gradient2_opacity2":"65","gradient2_repeats":"44","gradient2_roundedrect":"0","gradient2_redrawopp":true,"pattern":false,"pattern_size":"10","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080c0","pattern_yellow_color":"#ffff00","pattern_opacity":"40","pattern_altsides":true,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"80","contrast":"100","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"0","gradient2":true,"pattern_fill":false},
h: {"modify":true,"red_color":"#ff4040","blue_color":"#0065ca","yellow_color":"#ffff00","gradient2_red_color":"#6c0000","gradient2_blue_color":"#002953","gradient2_yellow_color":"#979700","gradient2_type":"diagonal","gradient2_opacity1":"100","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":false,"pattern_size":"5","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#000000","pattern_blue_color":"#000000","pattern_yellow_color":"#000000","pattern_opacity":"50","pattern_altsides":false,"border":true,"border_size":"40","border_linewidth":"1","border_red_color":"#000000","border_blue_color":"#000000","border_yellow_color":"#000000","border_opacity":"100","brightness":"100","contrast":"100","sepia":"0","opacity":"70","margin":"0","drawFloorUnderneath":true,"original_margin":"2","pattern_fill":true,"gradient2":true},
i: {"modify":true,"red_color":"#800000","blue_color":"#006ad5","yellow_color":"#ffff00","gradient2_red_color":"#ff4040","gradient2_blue_color":"#5555ff","gradient2_yellow_color":"#ffff00","gradient2_type":"diagonal","gradient2_opacity1":"100","gradient2_opacity2":"100","gradient2_repeats":"0","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":true,"pattern_size":"8","pattern_margin":"0","pattern_blur":"1","pattern_red_color":"#000000","pattern_blue_color":"#000000","pattern_yellow_color":"#000000","pattern_opacity":"10","pattern_altsides":false,"border":false,"border_size":"2","border_linewidth":"1","border_red_color":"#000000","border_blue_color":"#000000","border_yellow_color":"#000000","border_opacity":"100","brightness":"125","contrast":"100","sepia":"0","opacity":"50","margin":"0","drawFloorUnderneath":true,"original_margin":"1","pattern_fill":true,"gradient2":true},
j: {"modify":true,"red_color":"#ff0000","blue_color":"#0080ff","yellow_color":"#ffff00","gradient2_red_color":"#400000","gradient2_blue_color":"#002953","gradient2_yellow_color":"#6a3500","gradient2_type":"centercircle","gradient2_opacity1":"74","gradient2_opacity2":"100","gradient2_repeats":"82","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":true,"pattern_size":"5","pattern_margin":"1","pattern_blur":"1","pattern_red_color":"#ff0000","pattern_blue_color":"#46a3ff","pattern_yellow_color":"#ffff00","pattern_opacity":"40","pattern_altsides":false,"border":false,"border_size":"2","border_linewidth":"1","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"125","contrast":"100","sepia":"0","opacity":"50","margin":"0","drawFloorUnderneath":true,"original_margin":"1","gradient2":true,"pattern_fill":true},
k: {"modify":true,"red_color":"#d50000","blue_color":"#0080c0","yellow_color":"#ffff00","gradient2_red_color":"#000000","gradient2_blue_color":"#000000","gradient2_yellow_color":"#000000","gradient2_type":"diagonal","gradient2_opacity1":"100","gradient2_opacity2":"0","gradient2_repeats":"4","gradient2_roundedrect":"0","gradient2_redrawopp":false,"pattern":false,"pattern_size":"10","pattern_margin":"1","pattern_blur":"0","pattern_red_color":"#ff0000","pattern_blue_color":"#0080c0","pattern_yellow_color":"#ffff00","pattern_opacity":"40","pattern_altsides":true,"border":false,"border_size":"2","border_linewidth":"2","border_red_color":"#ffffff","border_blue_color":"#fffffb","border_yellow_color":"#ffffff","border_opacity":"50","brightness":"80","contrast":"100","sepia":"0","opacity":"100","margin":"0","drawFloorUnderneath":true,"original_margin":"0","gradient2":true,"pattern_fill":false},
}
}, endzone: {
keys: ['endzone'],
containerId: ['TPE_Presets_Endzones'],
presets: {
}
}, spikes: {
keys: ['spikes'],
containerId: ['TPE_Presets_Shapes_Spikes'],
presets: {
a: {"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"0","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"50","shapes_star":true,"shapes_star_color":"#414141","shapes_star_width":"0","shapes_star_fill":true,"shapes_star_fill_color":"#6b6b6b","shapes_star_spikes":"12","shapes_star_inner":"8","shapes_star_outer":"14","shapes_star_border":true,"shapes_star_border_color":"#6b6b6b","shapes_star_border_radius":"14","shapes_star_border_linewidth":"2","shapes_star_border_fill":false,"shapes_star_border_fill_color":"#1d1d1d","shapes_star_border_fill_radius":"15","shapes_star_border_fill_gradient":true},
b: {"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"0","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"50","shapes_star":true,"shapes_star_color":"#414141","shapes_star_width":"0","shapes_star_fill":true,"shapes_star_fill_color":"#282828","shapes_star_spikes":"7","shapes_star_inner":"14","shapes_star_outer":"4","shapes_star_border":true,"shapes_star_border_color":"#161616","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":true,"shapes_star_border_fill_color":"#d8d8b4","shapes_star_border_fill_radius":"17","shapes_star_border_fill_gradient":true},
c: {"modify":true,"color":"#000000","opacity":"0","brightness":"60","contrast":"100","sepia":"100","shadow":false,"shadow_size":"3","shadow_blur":"1","shadow_color":"#ffffff","shadow_opacity":"60","shapes_star":true,"shapes_star_color":"#515151","shapes_star_width":"1","shapes_star_fill":true,"shapes_star_fill_color":"#454545","shapes_star_spikes":"8","shapes_star_inner":"5","shapes_star_outer":"14","shapes_star_border":true,"shapes_star_border_color":"#ff8040","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":true,"shapes_star_border_fill_color":"#ffff00","shapes_star_border_fill_radius":"12","shapes_star_border_fill_gradient":false},
d: {"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"3","shadow_blur":"1","shadow_color":"#ffffff","shadow_opacity":"60","shapes_star":true,"shapes_star_color":"#000000","shapes_star_width":"1","shapes_star_fill":false,"shapes_star_fill_color":"#ff0080","shapes_star_spikes":"8","shapes_star_inner":"3","shapes_star_outer":"13","shapes_star_border":false,"shapes_star_border_color":"#ffffff","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":true,"shapes_star_border_fill_color":"#c0c0c0","shapes_star_border_fill_radius":"16","shapes_star_border_fill_gradient":true},
e: {"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"1","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"60","shapes_star":true,"shapes_star_color":"#414141","shapes_star_width":"1","shapes_star_fill":false,"shapes_star_fill_color":"#8000ff","shapes_star_spikes":"20","shapes_star_inner":"8","shapes_star_outer":"14","shapes_star_border":false,"shapes_star_border_color":"#ff8000","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":true,"shapes_star_border_fill_color":"#1d1d1d","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":true},
f: {"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"1","shadow_blur":"1","shadow_color":"#000000","shadow_opacity":"60","shapes_star":true,"shapes_star_color":"#414141","shapes_star_width":"1","shapes_star_fill":true,"shapes_star_fill_color":"#ffffff","shapes_star_spikes":"16","shapes_star_inner":"4","shapes_star_outer":"17","shapes_star_border":true,"shapes_star_border_color":"#161616","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":true,"shapes_star_border_fill_color":"#595959","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},
g: {"modify":true,"color":"#000000","opacity":"0","brightness":"100","contrast":"100","sepia":"0","shadow":false,"shadow_size":"3","shadow_blur":"1","shadow_color":"#ffffff","shadow_opacity":"60","shapes_star":true,"shapes_star_color":"#000000","shapes_star_width":"0","shapes_star_fill":true,"shapes_star_fill_color":"#151515","shapes_star_spikes":"4","shapes_star_inner":"13","shapes_star_outer":"3","shapes_star_border":false,"shapes_star_border_color":"#4f4f4f","shapes_star_border_radius":"14","shapes_star_border_linewidth":"1","shapes_star_border_fill":true,"shapes_star_border_fill_color":"#a8a8a8","shapes_star_border_fill_radius":"14","shapes_star_border_fill_gradient":false},
}
}, redball: {
keys: ['redball'],
containerId: ['TPE_Presets_RedBall'],
presets: {
a: {"modify":true,"color":"#ff0000","size":"19","opacity":"100","gradient":true,"gradient_color":"#550000","gradient_position":"20","border_width":"1","border_segments":"4","shapes_arc":true,"shapes_arc_width":"2","shapes_arc_position":"13","shapes_arc_size":"18","shapes_star":true,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#d2d2d2","border_color":"#bb0000","gradient_start":"5","gradient_stop":"25","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_star_color":"#222222","shapes_star_transparent":false,"shapes_star_fill":true,"shapes_star_fill_color":"#535353","shapes_arc_color":"#333333"},
b: {"modify":true,"color":"#ff0000","size":"13","opacity":"100","gradient":true,"gradient_color":"#400000","gradient_position":"12","border_width":"3","border_segments":"6","shapes_arc":false,"shapes_arc_width":"2","shapes_arc_position":"13","shapes_arc_size":"18","shapes_star":true,"shapes_star_width":"4","shapes_star_spikes":"2","shapes_star_inner":"0","shapes_star_outer":"10","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","gradient_start":"5","gradient_stop":"32","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_star_color":"#000000","shapes_star_transparent":false,"shapes_star_fill":false,"shapes_star_fill_color":"#535353","shapes_arc_color":"#333333"},
c: {"modify":true,"color":"#ff0000","size":"5","opacity":"100","gradient":true,"gradient_color":"#550000","gradient_position":"20","border_width":"1","border_segments":"8","shapes_arc":false,"shapes_arc_width":"2","shapes_arc_position":"13","shapes_arc_size":"18","shapes_star":false,"shapes_star_width":"4","shapes_star_spikes":"2","shapes_star_inner":"0","shapes_star_outer":"10","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","gradient_start":"1","gradient_stop":"5","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_star_color":"#000000","shapes_star_transparent":false,"shapes_star_fill":false,"shapes_star_fill_color":"#535353","shapes_arc_color":"#333333"},
d: {"modify":true,"color":"#ff0000","size":"19","opacity":"100","gradient":true,"gradient_color":"#550000","gradient_position":"17","border_width":"1","border_segments":"0","shapes_arc":true,"shapes_arc_width":"1","shapes_arc_position":"6","shapes_arc_size":"18","shapes_star":true,"shapes_star_width":"1","shapes_star_spikes":"4","shapes_star_inner":"1","shapes_star_outer":"14","shapes_overlay":true,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#000000","gradient_start":"5","gradient_stop":"25","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_star_color":"#333333","shapes_star_transparent":false,"shapes_star_fill":false,"shapes_star_fill_color":"#535353","shapes_arc_color":"#333333"},
e: {"modify":true,"color":"#ff0000","size":"13","opacity":"100","gradient":false,"gradient_color":"#550000","gradient_position":"17","border_width":"4","border_segments":"2","shapes_arc":false,"shapes_arc_width":"1","shapes_arc_position":"6","shapes_arc_size":"18","shapes_star":true,"shapes_star_width":"1","shapes_star_spikes":"5","shapes_star_inner":"3","shapes_star_outer":"11","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#ff0000","gradient_start":"5","gradient_stop":"25","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_star_color":"#000000","shapes_star_transparent":false,"shapes_star_fill":false,"shapes_star_fill_color":"#535353","shapes_arc_color":"#333333"},
f: {"modify":true,"color":"#b70000","size":"14","opacity":"65","gradient":false,"gradient_color":"#550000","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"3","border_segments":"8","shapes_arc":true,"shapes_arc_width":"1","shapes_arc_position":"18","shapes_arc_size":"18","shapes_star":false,"shapes_star_width":"4","shapes_star_spikes":"4","shapes_star_inner":"0","shapes_star_outer":"10","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffc6c6","border_color":"#ff0000","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_star_color":"#000000","shapes_star_transparent":false,"shapes_star_fill":false,"shapes_star_fill_color":"#535353","shapes_arc_color":"#000000"},
g: {"modify":true,"color":"#ff0000","size":"19","opacity":"100","gradient":true,"gradient_color":"#550000","gradient_start":"5","gradient_stop":"25","gradient_position":"20","border_width":"1","border_segments":"0","shapes_arc":true,"shapes_arc_width":"7","shapes_arc_position":"3","shapes_arc_size":"18","shapes_star":true,"shapes_star_width":"9","shapes_star_spikes":"3","shapes_star_inner":"7","shapes_star_outer":"1","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#000000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_star_color":"#333333","shapes_star_transparent":true,"shapes_star_fill":true,"shapes_star_fill_color":"#ffffff","shapes_arc_color":"#333333"},
h: {"modify":true,"color":"#ff0000","size":"19","opacity":"100","gradient":true,"gradient_color":"#550000","gradient_start":"5","gradient_stop":"25","gradient_position":"20","border_width":"0","border_segments":"4","shapes_arc":false,"shapes_arc_width":"1","shapes_arc_position":"18","shapes_arc_size":"18","shapes_star":false,"shapes_star_width":"4","shapes_star_spikes":"4","shapes_star_inner":"0","shapes_star_outer":"8","shapes_overlay":true,"shapes_overlay_transparency":"10","border_alt_color":"#ffffff","border_color":"#ff0000","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_overlay_type":"marble1","shapes_star_color":"#ffffff","shapes_star_transparent":true,"shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_arc_color":"#000000"},
i: {"modify":true,"color":"#ff0000","size":"0","opacity":"100","gradient":false,"gradient_color":"#550000","gradient_start":"5","gradient_stop":"25","gradient_position":"20","border_width":"19","border_segments":"2","shapes_arc":true,"shapes_arc_width":"2","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_width":"2","shapes_star_spikes":"2","shapes_star_inner":"0","shapes_star_outer":"20","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ff5353","border_color":"#df0000","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_overlay_type":"earth1","shapes_star_color":"#ffffff","shapes_star_transparent":true,"shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_arc_color":"#ff8c8c"},
j: {"modify":true,"color":"#b00000","size":"15","opacity":"100","gradient":false,"gradient_color":"#400000","gradient_start":"5","gradient_stop":"32","gradient_position":"12","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"2","shapes_arc_position":"13","shapes_arc_size":"18","shapes_star":false,"shapes_star_width":"4","shapes_star_spikes":"2","shapes_star_inner":"0","shapes_star_outer":"10","shapes_overlay":false,"shapes_overlay_transparency":"20","border_color":"#e10000","border_alt_color":"#ffffff","shapes_arc_color":"#333333","shapes_arc_transparent":false,"shapes_star_color":"#000000","shapes_star_transparent":false,"shapes_star_fill":false,"shapes_star_fill_color":"#535353","shapes_overlay_type":"earth1","shapes_overlay_base64":""},
k: {"modify":true,"color":"#ff0000","size":"19","opacity":"25","gradient":false,"gradient_color":"#000000","gradient_start":"5","gradient_stop":"25","gradient_position":"20","border_width":"2","border_segments":"0","shapes_arc":false,"shapes_arc_width":"2","shapes_arc_position":"14","shapes_arc_size":"4","shapes_star":true,"shapes_star_width":"2","shapes_star_spikes":"8","shapes_star_inner":"6","shapes_star_outer":"10","shapes_overlay":false,"shapes_overlay_transparency":"20","border_color":"#ff0000","border_alt_color":"#000000","shapes_arc_color":"#000000","shapes_arc_transparent":true,"shapes_star_color":"#ff0000","shapes_star_transparent":false,"shapes_star_fill":false,"shapes_star_fill_color":"#000000","shapes_overlay_type":"earth1","shapes_overlay_base64":""},
}
}, blueball: {
keys: ['blueball'],
containerId: ['TPE_Presets_BlueBall'],
presets: {
a: {"modify":true,"color":"#0080ff","size":"19","opacity":"100","gradient":true,"gradient_color":"#000055","gradient_start":"5","gradient_stop":"25","gradient_position":"20","border_width":"1","border_segments":"4","shapes_arc":true,"shapes_arc_width":"2","shapes_arc_position":"13","shapes_arc_size":"18","shapes_star":true,"shapes_star_width":"3","shapes_star_spikes":"4","shapes_star_inner":"2","shapes_star_outer":"9","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#d2d2d2","border_color":"#0080ff","shapes_arc_color":"#aaaaaa","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_fill":true,"shapes_star_fill_color":"#b9b9b9","shapes_overlay_type":"earth1"},
b: {"modify":true,"color":"#0080ff","size":"13","opacity":"100","gradient":true,"gradient_color":"#bfdfff","gradient_start":"5","gradient_stop":"32","gradient_position":"12","border_width":"3","border_segments":"6","shapes_arc":false,"shapes_arc_width":"2","shapes_arc_position":"13","shapes_arc_size":"18","shapes_star":true,"shapes_star_width":"4","shapes_star_spikes":"4","shapes_star_inner":"0","shapes_star_outer":"10","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#aaaaaa","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_fill":false,"shapes_star_fill_color":"#b9b9b9","shapes_overlay_type":"earth1"},
c: {"modify":true,"color":"#0080ff","size":"5","opacity":"100","gradient":true,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"1","border_segments":"8","shapes_arc":false,"shapes_arc_width":"2","shapes_arc_position":"13","shapes_arc_size":"18","shapes_star":false,"shapes_star_width":"4","shapes_star_spikes":"4","shapes_star_inner":"0","shapes_star_outer":"10","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#aaaaaa","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_fill":false,"shapes_star_fill_color":"#b9b9b9","shapes_overlay_type":"earth1"},
d: {"modify":true,"color":"#0080ff","size":"19","opacity":"100","gradient":true,"gradient_color":"#000055","gradient_start":"5","gradient_stop":"25","gradient_position":"17","border_width":"1","border_segments":"0","shapes_arc":true,"shapes_arc_width":"1","shapes_arc_position":"6","shapes_arc_size":"18","shapes_star":true,"shapes_star_width":"1","shapes_star_spikes":"4","shapes_star_inner":"1","shapes_star_outer":"14","shapes_overlay":true,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#000000","shapes_arc_color":"#aaaaaa","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_star_color":"#aaaaaa","shapes_star_transparent":false,"shapes_star_fill":false,"shapes_star_fill_color":"#b9b9b9","shapes_overlay_type":"earth1"},
e: {"modify":true,"color":"#0080ff","size":"13","opacity":"100","gradient":false,"gradient_color":"#000055","gradient_start":"5","gradient_stop":"25","gradient_position":"17","border_width":"4","border_segments":"2","shapes_arc":false,"shapes_arc_width":"1","shapes_arc_position":"6","shapes_arc_size":"18","shapes_star":true,"shapes_star_width":"1","shapes_star_spikes":"5","shapes_star_inner":"3","shapes_star_outer":"11","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#aaaaaa","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_fill":false,"shapes_star_fill_color":"#b9b9b9","shapes_overlay_type":"earth1"},
f: {"modify":true,"color":"#0080ff","size":"14","opacity":"65","gradient":false,"gradient_color":"#003a75","gradient_start":"1","gradient_stop":"5","gradient_position":"20","border_width":"3","border_segments":"8","shapes_arc":true,"shapes_arc_width":"1","shapes_arc_position":"18","shapes_arc_size":"18","shapes_star":false,"shapes_star_width":"4","shapes_star_spikes":"4","shapes_star_inner":"0","shapes_star_outer":"10","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#bfdfff","border_color":"#2b95ff","shapes_arc_color":"#000000","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_star_color":"#ffffff","shapes_star_transparent":false,"shapes_star_fill":false,"shapes_star_fill_color":"#b9b9b9","shapes_overlay_type":"earth1"},
g: {"modify":true,"color":"#0080ff","size":"19","opacity":"100","gradient":true,"gradient_color":"#000055","gradient_start":"5","gradient_stop":"25","gradient_position":"20","border_width":"1","border_segments":"0","shapes_arc":true,"shapes_arc_width":"7","shapes_arc_position":"3","shapes_arc_size":"18","shapes_star":true,"shapes_star_width":"9","shapes_star_spikes":"3","shapes_star_inner":"7","shapes_star_outer":"1","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#ffffff","border_color":"#000000","shapes_arc_color":"#aaaaaa","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_star_color":"#aaaaaa","shapes_star_transparent":true,"shapes_star_fill":true,"shapes_star_fill_color":"#ffffff","shapes_overlay_type":"earth1"},
h: {"modify":true,"color":"#0080ff","size":"19","opacity":"100","gradient":true,"gradient_color":"#000055","gradient_start":"5","gradient_stop":"25","gradient_position":"20","border_width":"0","border_segments":"4","shapes_arc":false,"shapes_arc_width":"1","shapes_arc_position":"18","shapes_arc_size":"18","shapes_star":false,"shapes_star_width":"4","shapes_star_spikes":"4","shapes_star_inner":"0","shapes_star_outer":"8","shapes_overlay":true,"shapes_overlay_transparency":"10","border_alt_color":"#ffffff","border_color":"#0080ff","shapes_arc_color":"#000000","shapes_arc_transparent":false,"shapes_overlay_base64":"","shapes_star_color":"#ffffff","shapes_star_transparent":true,"shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_overlay_type":"marble1"},
i: {"modify":true,"color":"#4a4aff","size":"0","opacity":"100","gradient":false,"gradient_color":"#000055","gradient_start":"5","gradient_stop":"25","gradient_position":"20","border_width":"19","border_segments":"2","shapes_arc":true,"shapes_arc_width":"2","shapes_arc_position":"16","shapes_arc_size":"18","shapes_star":false,"shapes_star_width":"2","shapes_star_spikes":"2","shapes_star_inner":"0","shapes_star_outer":"20","shapes_overlay":false,"shapes_overlay_transparency":"20","border_alt_color":"#6f6fff","border_color":"#4646ff","shapes_arc_color":"#9f9fff","shapes_arc_transparent":true,"shapes_overlay_base64":"","shapes_star_color":"#ffffff","shapes_star_transparent":true,"shapes_star_fill":false,"shapes_star_fill_color":"#ffffff","shapes_overlay_type":"earth1"},
j: {"modify":true,"color":"#005f8c","size":"15","opacity":"100","gradient":false,"gradient_color":"#000000","gradient_start":"5","gradient_stop":"32","gradient_position":"12","border_width":"2","border_segments":"8","shapes_arc":false,"shapes_arc_width":"2","shapes_arc_position":"13","shapes_arc_size":"18","shapes_star":false,"shapes_star_width":"4","shapes_star_spikes":"2","shapes_star_inner":"0","shapes_star_outer":"10","shapes_overlay":false,"shapes_overlay_transparency":"20","border_color":"#0080c0","border_alt_color":"#ffffff","shapes_arc_color":"#000000","shapes_arc_transparent":false,"shapes_star_color":"#000000","shapes_star_transparent":false,"shapes_star_fill":false,"shapes_star_fill_color":"#000000","shapes_overlay_type":"earth1","shapes_overlay_base64":""},
k: {"modify":true,"color":"#0080ff","size":"19","opacity":"25","gradient":false,"gradient_color":"#000000","gradient_start":"5","gradient_stop":"25","gradient_position":"20","border_width":"2","border_segments":"0","shapes_arc":false,"shapes_arc_width":"2","shapes_arc_position":"14","shapes_arc_size":"4","shapes_star":true,"shapes_star_width":"2","shapes_star_spikes":"8","shapes_star_inner":"6","shapes_star_outer":"10","shapes_overlay":false,"shapes_overlay_transparency":"20","border_color":"#0080ff","border_alt_color":"#000000","shapes_arc_color":"#000000","shapes_arc_transparent":true,"shapes_star_color":"#0080ff","shapes_star_transparent":false,"shapes_star_fill":false,"shapes_star_fill_color":"#000000","shapes_overlay_type":"earth1","shapes_overlay_base64":""}
}
},
ballshapes: {
keys: ['redball', 'blueball'],
containerId: ['TPE_Presets_Shapes_RedBall', 'TPE_Presets_Shapes_BlueBall'],
presets: {
'square': { 'shapes_star_width': 2, 'shapes_star_spikes': 4, 'shapes_star_inner': 9, 'shapes_star_outer': 13, 'shapes_star_fill': false },
'plus': { 'shapes_star_width': 4, 'shapes_star_spikes': 4, 'shapes_star_inner': 0, 'shapes_star_outer': 10, 'shapes_star_fill': false },
'minus': { 'shapes_star_width': 4, 'shapes_star_spikes': 2, 'shapes_star_inner': 0, 'shapes_star_outer': 8, 'shapes_star_fill': false },
'merc': { 'shapes_star_width': 2, 'shapes_star_spikes': 3, 'shapes_star_inner': 7, 'shapes_star_outer': 1, 'shapes_star_fill': true, 'shapes_star_fill_color': '#FFFFFF' },
'star4': { 'shapes_star_width': 3, 'shapes_star_spikes': 4, 'shapes_star_inner': 2, 'shapes_star_outer': 9, 'shapes_star_fill': false },
}
}
};
/*-------------------------------------------------------------------------------*/
var loadPresets = function() {
$('#TPE_MySavedOptions').append('<select id="TPE_MySavedOptions_Presets" style="width:130px; color:black;"><option>Select Preset...</option></select>');
$.each(presets, function(key, value) {
$.each(value.containerId, function(ke, va) {
var thiskey = '';
if (value.keys) thiskey = value.keys[ke];
$.each(value.presets, function(k, v) {
let title = 'Load this preset';
let displayName = k;
if (va === 'TPE_MySavedOptions') {
if (v.hasOwnProperty('textures') && (v.textures.tiles || v.textures.speedpad || v.textures.speedpadRed || v.textures.speedpadBlue || v.textures.portal || v.textures.splats || v.textures.gravityWell) ) {
title += ' (includes texture links)';
//displayName = '<span style="color:mediumorchid">*</span>' + k;
}
$('#TPE_MySavedOptions_Presets').append('<option class="TPE_Preset" value="'+key+'.'+k+'" data-preset="'+key+'.'+k+'" data-color="'+thiskey+'" title="'+title+'">'+displayName+'</option>');
} else {
$('#'+va).append('<div class="TPE_Preset" data-preset="'+key+'.'+k+'" data-color="'+thiskey+'" title="'+title+'">'+displayName+'</div>');
}
});
if (key === 'ballshapes') return true;
if (true) {
let css = 'flex-flow:column; position:absolute;';
if (!Object.keys(value.presets).length) css = 'flex-flow:row; position:relative;'; //only show the Import/Export buttons (no presets)
$('#'+va).append('<div style="display:flex; align-self:stretch; align-items:center; justify-content:space-evenly; height:100%; top:0px; left:5px; ' + css + '">' +
' <div class="TPE_Import_Presets" data-key="'+key+'" data-keys="'+thiskey+'" title="Import a JSON formatted string for '+key+' options" style="width:12px; height:12px; opacity:0.2; text-align:center; font-size:8px; color:white; background:midnightblue; border:1px solid dodgerblue; border-radius:4px; cursor:pointer">I</div>' +
' <div class="TPE_Export_Presets" data-key="'+key+'" data-keys="'+thiskey+'" title="Export '+key+' options to a JSON formatted string" style="width:12px; height:12px; opacity:0.2; text-align:center; font-size:8px; color:white; background:blueviolet; border:1px solid skyblue; border-radius:4px; cursor:pointer">E</div>' +
'</div>');
}
});
});
};
var loadPreset = function(preset, color) {
if (!preset || !preset.includes('.')) return;
var index = preset.split('.');
if (!presets[index[0]].presets[index[1]]) return;
if (index[0] === 'all') {
if (presets.all.presets.hasOwnProperty([index[1]])) {
options = $.extend(true, {}, defaultOptions, presets.all.presets[index[1]]);
GM_setValue('options', options);
loadOptionsValues(false);
//updateFloorTilesPreview();
}
} else {
//use default option if a key is missing...
let defaultFloorOptions = $.extend({}, defaultOptions[index[0]], presets[index[0]].presets[index[1]]);
$.each(defaultFloorOptions, function(key, value) {
if (!presets[index[0]].presets[index[1]].hasOwnProperty(key)) {
presets[index[0]].presets[index[1]][key] = value;
}
});
$.each(presets[index[0]].presets[index[1]], function(key, value) {
let newValue;
let selectedColor;
if (typeof value !== 'object') {
if (color) key = color + '.' + key;
newValue = { [key]: value };
} else {
selectedColor = color;
newValue = value;
}
$.each(newValue, function(k, v) {
if ((index[0] === 'ballshapes')) {
if (!color || (selectedColor && k !== selectedColor)) {
return true;
}
if (typeof value === 'object') {
k = color + '.' + key;
v = value[color];
}
} else if (!k.includes('.')) {
k = key + '.' + k;
}
var element = $('#TPE_Container, #TPE_Container_Balls').find('[data-saveto="'+k+'"]');
if ((v === true) || (v === false)) {
element.prop('checked', v);
} else if ($(element).attr('type') === 'radio') {
$('#TPE_Container, #TPE_Container_Balls').find('[data-type="'+value+'"][data-saveto="'+k+'"]').prop('checked', true);
} else {
element.val(v);
}
let group = $(element).data('group');
let rgroup = $(element).data('rgroup');
if (group) {
if ((v === true) || (v > 0)) $('.' + group).slideDown(400);
else $('.' + group).slideUp(400);
}
if (rgroup) {
if ((v === true) || (v > 0)) $('.' + rgroup).slideUp(400);
else $('.' + rgroup).slideDown(400);
}
});
});
}
saveValues();
if (index[0] === 'all') {
updateAllPreviews();
} else if (index[0] === 'floortiles') {
updateFloorTilesPreview();
} else if ((index[0] === 'redball') || (index[0] === 'blueball') || (index[0] === 'ballshapes')) {
updateBallPreviews();
}
};
/*-------------------------------------------------------------------------------*/
// Create the new page elements & menus...
/*-------------------------------------------------------------------------------*/
//Add new elements to the "Import Custom" tab...
$('#TP_ShowPreviewAll').remove(); //remove the built-in "Preview All"
$('#custom').find('.TP_ShowPreview').remove(); //remove the built-in link previews
$('#custom').find('input').parent('div').prepend('<span class="TP_ShowPreview" style="margin:4px 5px 0 0; padding:2px 5px; font-size:12px; color:white; background:#444; border:1px dashed #aaa; border-radius:5px; float:right; cursor:default;">Preview</span>');
$('#custom-textures-btn').before('<span id="TP_ShowPreviewAll" style="position:absolute; right:0; margin:30px 16px 0 0; padding:2px 5px; font-size:16px; color:white; background:#444; border:1px dashed #aaa; border-radius:5px; cursor:default;">Preview All</span>');
$('#custom-textures-btn').after('<div id="TPE_MySavedPacks" style="display:flex; margin:15px 5px 0; flex-flow:row wrap; align-items:center; justify-content:center; background:#333; border:1px solid #444; border-radius:5px;"></div>');
$('#TPE_MySavedPacks').append('<div id="TPE_SaveMyPack" title="Save the current texture links as a new pack" style="margin:2px 13px; padding:6px 0; width:38px; height:38px; opacity:0.6; text-align:center; font-size:18px; color:white; background:limegreen; border: 1px dashed white; border-radius:10px; cursor:pointer">+</div>');
//Create "Options" tab...
$('ul.tab-list').append('<li data-target="#TPE_Container"><a>Texture Options</a></li>');
$('div.tab-content').append('<div id="TPE_Container" class="tab-pane" style="margin-top:-30px; padding:10px; font-size:12px;"></div>');
//Add Ball Editor Tab...
$('ul.tab-list').append('<li data-target="#TPE_Container_Balls"><a>Tile Editor</a></li>');
$('div.tab-content').append('<div id="TPE_Container_Balls" class="tab-pane" style="margin-top:-30px; padding:10px; font-size:12px;"></div>');
/*******************/
//Preview Tile
$('h1.header-title').css({'display':'inline-block', 'width':'100%'});
$('h1.header-title').append('<div id="TPE_FloorTiles_Preview_Container" style="position:absolute; display:inline-block; margin:-14px 0 0 50px; padding: 2px 1px 2px 4px; height:46px; z-index:100; border:1px dashed rgba(128,220,128,0.6); border-radius:4px; text-align:center; font-size:12px;"><canvas id="TPE_FloorTiles_Preview" width="40" height="40"></canvas><div>Show Preview</div></div>');
/*******************/
//Options Container
$('#TPE_Container').append('<div id="TPE_GameOptions" style="display:flex; align-items:flex-start; justify-content:center; width:100%;"></div>');
/****************************/
/******** 1st Column ********/
/****************************/
$('#TPE_GameOptions').append('<div id="TPE_Options1_Outer" style="display:flex; flex-flow:column wrap; align-items:flex-start; justify-content:center; margin:10px 5px; width:340px;"></div>');
//Wallpaper Options...
$('#TPE_Options1_Outer').append('<div id="TPE_Wallpaper" style="display:flex; flex-flow:column wrap; align-items:center; padding:6px; width:100%; border:1px solid #777; border-radius:10px; background:linear-gradient(115deg, #111, #444448)"></div>');
$('#TPE_Wallpaper').append('<span>Game Wallpaper: <select id="TPE_WP" style="color:black" data-saveto="gamewallpaper.type">' +
' <option value="none">None</option>' +
' <option value="color">Color</option>' +
' <option value="gradient">Gradient</option>' +
' <option value="image">Image</option>' +
'</select></span>');
$('#TPE_Wallpaper').append('<div id="TPE_DropZone_Outer" style="display:flex; align-items:center; margin:10px; width:220px; height:165px; text-align:center; border:2px dotted silver;"><div id="TPE_DropZone" style="width:100%; height:100%"></div></div>');
$('#TPE_Wallpaper').append('<div class="TPE_WPG_Image" style="margin:-10px 0 5px; font-size:12px; font-style:italic">(Drag & Drop Backgrounds Here)</div>');
$('#TPE_Wallpaper').append('<div class="TPE_WPG_Image" style="margin:-10px 0 5px; font-size:12px;">Stored Image Size: <span id="TPE_WPG_Image_Size"></span></div>');
$('#TPE_Wallpaper').append('<label class="TPE_WPG_Image"><input type="checkbox" data-saveto="gamewallpaper.stretch">Stretch Wallpaper to Fit</label>');
$('#TPE_Wallpaper').append('<span class="TPE_WPG_Color">Color: <input type="color" id="TPE_WPG_Color" data-saveto="gamewallpaper.color"></span>');
$('#TPE_Wallpaper').append('<div class="TPE_WPG_Gradient" style="text-align:center;">' +
' <label><input type="radio" name="TPE_GradientPresets" data-type="red" data-saveto="gamewallpaper.gradient_preset" data-c1="#554444" data-c2="#552222">Red</label>' +
' <label><input type="radio" name="TPE_GradientPresets" data-type="green" data-saveto="gamewallpaper.gradient_preset" data-c1="#445544" data-c2="#225522">Green</label>' +
' <label><input type="radio" name="TPE_GradientPresets" data-type="blue" data-saveto="gamewallpaper.gradient_preset" data-c1="#444455" data-c2="#222255">Blue</label>' +
' <label><input type="radio" name="TPE_GradientPresets" data-type="orange" data-saveto="gamewallpaper.gradient_preset" data-c1="#665400" data-c2="#512400">Orange</label>' +
' <label><input type="radio" name="TPE_GradientPresets" data-type="light" data-saveto="gamewallpaper.gradient_preset" data-c1="#DDDDDD" data-c2="#777777">Light</label>' +
' <label><input type="radio" name="TPE_GradientPresets" data-type="dark" data-saveto="gamewallpaper.gradient_preset" data-c1="#222222" data-c2="#090909">Dark</label>' +
' <label><input type="radio" name="TPE_GradientPresets" data-type="redblue" data-saveto="gamewallpaper.gradient_preset" data-c1="#aa0000" data-c2="#0055aa">Red/Blue</label>' +
' <div><label><input type="checkbox" data-saveto="gamewallpaper.bg_random" data-group="TPE_Group_BG_Random">Random</label> <label class="TPE_Group_BG_Random" title="Change colors now" style="background:#17822a; border-radius:40px;"><input type="radio" style="width:15px; height:7px; margin:0px;"> </label></div>' +
' <div class="TPE_Group_BG_Random TPE_SubGroup" style="margin-bottom:7px;">' +
//' <label title="Change colors every game"><input type="checkbox" data-saveto="gamewallpaper.bg_random_game">Game</label>' +
' <label title="<40 = Dull Colors; >60 = Rich Colors">Sat: <input type="number" min="0" max="100" data-saveto="gamewallpaper.bg_random_saturation"></label>' +
' <label title="<40 = Dark Shades; >60 = Lighter Shades">Bri: <input type="number" min="0" max="100" data-saveto="gamewallpaper.bg_random_brightness"></label>' +
//' <label title="">Size: <input type="number" min="0" max="100" data-saveto="gamewallpaper.bg_random_size"></label>' +
' </div>' +
'</div>');
$('#TPE_Wallpaper').append('<div class="TPE_WPG_Gradient"><span>Color 1: <input type="color" id="TPE_GameWallPaper_Color1" data-saveto="gamewallpaper.color1"></span><span style="margin-left:20px;">Color 2: <input type="color" id="TPE_GameWallPaper_Color2" data-saveto="gamewallpaper.color2"></span></div>');
$('#TPE_Wallpaper').append('<span class="TPE_WPG_Gradient" style="margin-top:5px;">Gradient Type: <select id="TPE_GradientTypes" style="color:black" data-saveto="gamewallpaper.gradient_type">' +
' <option value="horizontal">Horizontal</option>' +
' <option value="vertical">Vertical</option>' +
' <option value="circle">Circle</option>' +
' <option value="ellipse">Ellipse</option>' +
' <option value="team" title="Color1 is on the Red side of the screen, Color2 is on the Blue side.">Team</option>' +
' <option value="bricks">Bricks</option>' +
' <option value="rainbowbokeh">Rainbow Bokeh</option>' +
' <option value="carbon">Carbon</option>' +
' <option value="carbonfibre">Carbon Fibre</option>' +
' <option value="honeycomb">Honeycomb</option>' +
' <option value="yinyang">Yin Yang</option>' +
' <option value="cubes">Cubes</option>' +
' <option value="tablecloth">Table Cloth</option>' +
' <option value="gridpaper">Grid Paper</option>' +
' <option value="starrynight">Starry Night</option>' +
'</select></span>');
//Options...
$('#TPE_Options1_Outer').append('<div id="TPE_Options" style="display:flex; flex-flow:column wrap; width:100%; margin-top:10px; padding:6px; border:1px solid #777; border-radius:10px; background:linear-gradient(115deg, #111, #444448)"></div>');
$('#TPE_Options').append('<label title="0=Solid Color. 100=Invisible!" style="display:flex; justify-content:flex-start; align-items:center; white-space:nowrap;"><span>Ball Transparency: </span><span style="margin:0 10px"><input type="range" id="TPE_TransparentBall" min="0" max="100" data-saveto="gameoptions.ball_transparency" style="width:80px"></span><span id="TPE_TransparentBallValue">'+(options.gameoptions.ball_transparency)+'</span>%</label>');
$('#TPE_Options').append('<label title="Splats will fade out after 5 seconds"><input type="checkbox" id="TPE_FadingSplats" data-saveto="gameoptions.fading_splats">Use Fading Splats</label>');
$('#TPE_Options').append('<label title="Draw the walls on separate layer (splats won\'t appear on them"><input type="checkbox" data-saveto="walls.separatelayer">No Splats on Walls</label>');
$('#TPE_Options').append('<label title="Remove the black background behind the map"><input type="checkbox" data-saveto="gameoptions.transparent_background">Transparent Game Background</label>');
$('#TPE_Options').append('<label title="Modify the &quot;TagPro&quot; powerup effect"><input type="checkbox" data-saveto="modify_TP.modify" data-group="TPE_Group_ModifyTP">Modify TagPro</label>' +
'<div class="TPE_Group_ModifyTP TPE_SubGroup">' +
' <div><label title="">Line Color: <input type="color" data-saveto="modify_TP.line_color"></label>' +
' <label title="TagPro default is: 100">Line Opacity: <input type="number" min="0" max="100" data-saveto="modify_TP.line_opacity"></label>' +
' <label title="TagPro default is: 2">Line Width: <input type="number" min="0" max="20" data-saveto="modify_TP.line_width"></label></div>' +
' <div><label title="">Fill Color: <input type="color" data-saveto="modify_TP.fill_color"></label>' +
' <label title="TagPro default is: 25">Fill Opacity: <input type="number" min="0" max="100" data-saveto="modify_TP.fill_opacity"></label></div>' +
' <div><label title="TagPro default is: 20">Radius: <input type="number" min="1" max="30" data-saveto="modify_TP.line_radius"></label></div>' +
'</div>');
$('#TPE_Options').append('<label title="Modify the &quot;Rolling Bomb&quot; powerup effect"><input type="checkbox" data-saveto="modify_RB.modify" data-group="TPE_Group_ModifyRB">Modify Rolling Bomb</label>' +
'<div class="TPE_Group_ModifyRB TPE_SubGroup">' +
' <div><label title="">Line Color: <input type="color" data-saveto="modify_RB.line_color"></label>' +
' <label title="TagPro default is: 0 (0 = no line)">Line Opacity: <input type="number" min="0" max="100" data-saveto="modify_RB.line_opacity"></label>' +
' <label title="TagPro default is: 0 (0 = no line)">Line Width: <input type="number" min="0" max="20" data-saveto="modify_RB.line_width"></label></div>' +
' <div><label title="">Fill Color: <input type="color" data-saveto="modify_RB.fill_color"></label>' +
' <label title="TagPro default is: 75 (0 = no fill)">Fill Opacity: <input type="number" min="0" max="100" data-saveto="modify_RB.fill_opacity"></label></div>' +
' <div><label title="TagPro default is: 20">Radius: <input type="number" min="1" max="30" data-saveto="modify_RB.line_radius"></label>' +
' <label title="TagPro default is: 150 (lower is faster flashing)">Flashing Speed: <input type="number" min="20" max="200" step="5" data-saveto="modify_RB.speed"></label></div>' +
'</div>');
$('#TPE_Options').append('<label title="Modify the &quot;Juke Juice&quot; powerup\n(Replaces the JJ icon with circle => no icon lag with live player position script!)"><input type="checkbox" data-saveto="modify_JJ.modify" data-group="TPE_Group_ModifyJJ">Modify Juke Juice</label>' +
'<div class="TPE_Group_ModifyJJ TPE_SubGroup">' +
' <label title="">Line Color: <input type="color" data-saveto="modify_JJ.line_color"></label>' +
' <label title="">Fill Color: <input type="color" data-saveto="modify_JJ.fill_color"></label>' +
' <div><label title="TagPro default is: ~8\n(Left is 0, Center is 20, Right is 40)">X: <input type="number" min="0" max="40" data-saveto="modify_JJ.x"></label>' +
' <label title="TagPro default is: ~32\n(Top is 0, Center is 20, Bottom is 40)">Y: <input type="number" min="0" max="40" data-saveto="modify_JJ.y"></label>' +
' <label title="TagPro default is: ~5">Radius: <input type="number" min="2" max="10" data-saveto="modify_JJ.radius"></label></div>' +
'</div>');
$('#TPE_Options').append('<label title="Use an alternate &quot;dead ball face&quot; as the spawn shadow (only works if &quot;Modify Balls&quot; is enabled in the &quot;Ball Editor&quot; tab)"><input type="checkbox" data-saveto="altSpawnShadow.modify" data-group="TPE_Group_AltSpawnShadow">Alternate Spawn Shadow</label>');
$('#TPE_Options').append('<label title="Changes the brightness of *everyone elses* ball so yours stands out better (only works if &quot;Modify Balls&quot; is enabled in the &quot;Ball Editor&quot; tab)"><input type="checkbox" data-saveto="gameoptions.filters_brightness" data-group="TPE_Group_FilterBrightness">Make Me Special</label>' +
'<div class="TPE_Group_FilterBrightness TPE_SubGroup">' +
' <label title="100 = Normal; <100 = Darker; >100 = Brighter">Brightness: <input type="number" min="0" max="200" data-saveto="gameoptions.filters_brightness_value"></label>' +
'</div>');
$('#TPE_Options').append('<div class="TPE_Divider"></div>');
$('#TPE_Options').append('<label title="Shows the current scoreboard position for each player on their ball"><input type="checkbox" id="TPE_AddSBPosLabels" data-saveto="sbpl.modify" data-group="TPE_Group_SBPL">Add Scoreboard Position Labels</label>' +
'<div class="TPE_Group_SBPL TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="sbpl.color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="sbpl.opacity"></label>' +
' <label title="0 = Ball Centre. Less than 0 = Left. Greater than 0 = Right.">X: <input type="number" min="-40" max="40" data-saveto="sbpl.x"></label>' +
' <label title="0 = Ball Centre. Less than 0 = Up. Greater than 0 = Down.">Y: <input type="number" min="-40" max="40" data-saveto="sbpl.y"></label>' +
'</div>');
$('#TPE_Options').append('<label title=""><input type="checkbox" data-saveto="ballglow.modify" data-group="TPE_Group_BallGlow">Add Ball Glow</label>' +
'<div class="TPE_Group_BallGlow TPE_SubGroup">' +
' <div><label title="">"Red": <input type="color" data-saveto="ballglow.red_color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="ballglow.red_opacity"></label></div>' +
' <div><label title="">"Blue": <input type="color" data-saveto="ballglow.blue_color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="ballglow.blue_opacity"></label></div>' +
' <div><label title="">Radius: <input type="number" min="20" max="400" data-saveto="ballglow.radius"></label>' +
' <label title="">Under Floor?: <input type="checkbox" data-saveto="ballglow.below"></label></div>' +
' <div style="font-size:10px; color:#999; font-style:italic; margin-top:5px; text-align:center;">To use Ball Glow both &quot;Plain Tiles&quot; and a grid/hexagon/checker/random must be checked</div>' +
'</div>');
/****************************/
/******** 2nd Column ********/
/****************************/
$('#TPE_GameOptions').append('<div id="TPE_Options2_Outer" style="display:flex; flex-flow:column wrap; align-items:flex-start; justify-content:center; margin:10px 5px; width:340px;"></div>');
//Floor Tiles...
$('#TPE_Options2_Outer').append('<div id="TPE_FloorTiles" style="position:relative; display:flex; flex-flow:column wrap; align-items:flex-start; width:100%; padding:6px; border:1px solid #777; border-radius:10px; background:linear-gradient(115deg, #111, #444448);"></div>');
//Plain tiles...
$('#TPE_FloorTiles').append('<label title=""><input type="checkbox" data-saveto="floortiles.modify" data-group="TPE_Group_ModifyFloorTiles">Modify Floor Tiles</label>' +
'<div class="TPE_Group_ModifyFloorTiles TPE_SubGroup">' +
' <div class="TPE_Group_Tiles_NoFloor">' +
' <div><label title="This will replace the Floor tiles in your texture pack with a plain square tile"><input type="checkbox" data-saveto="floortiles.plain" data-rgroup="TPE_Group_Tiles_Plain">Use Plain Tiles</label></div>' +
' <div class="TPE_Group_Tiles_Color"><label title="Tint the floor tiles with this color">Color: <input type="color" data-saveto="floortiles.tint_color"></label></div>' +
' <div class="TPE_Group_Tiles_Plain"><label title="0=No Tint, 100=Solid Color">Tint Opacity: <input type="number" min="0" max="100" data-saveto="floortiles.tint_opacity"></label></div>' +
' <div><label title="Use a different random floor color each game"><input type="checkbox" data-saveto="floortiles.random" data-group="TPE_Group_Tiles_Random" data-rgroup="TPE_Group_Tiles_Color">Random Colors</label></div>' +
' <div class="TPE_Group_Tiles_Random TPE_SubGroup">' +
' <label title="<40 = Dull Colors; >60 = Rich Colors">Saturation: <input type="number" min="0" max="100" data-saveto="floortiles.random_saturation"></label>' +
' <label title="<40 = Dark Shades; >60 = Lighter Shades">Brightness: <input type="number" min="0" max="100" data-saveto="floortiles.random_brightness"></label>' +
' </div>' +
' </div>' +
' <div><label title="The floor tile won\'t be drawn (select a nice &quot;Game Wallpaper&quot; and use a grid instead)"><input type="checkbox" data-saveto="floortiles.nofloor" data-rgroup="TPE_Group_Tiles_NoFloor">No Floor</label></div>' +
//' <div><label title="This is the transparency of your texture pack floor floortiles. 0=Solid Color, 100=Transparent\nNote that older systems may struggle with transparency - set to 0 for best performance.">Tiles Transparency: <input type="number" min="0" max="100" data-saveto="floortiles.transparency"></label></div>' +
//' <div><label title="Reduces the tile size by this much (e.g.: 2 = 38px floor tile size, 20 = No Tile)">Tile Margin: <input type="number" min="0" max="20" data-saveto="floortiles.margin"></label></div>' +
'</div>');
//Overlay Image...
$('#TPE_FloorTiles').append('<label><input type="checkbox" data-saveto="floortiles.image" data-group="TPE_Group_FloorImage">Overlay Image</label>' +
'<div class="TPE_Group_FloorImage TPE_SubGroup">' +
' <div id="TPE_FloorImage_DropZone_Outer" style="display:flex; align-items:center; margin:5px 5px 10px; width:220px; height:165px; text-align:center; border:2px dotted silver;"><div id="TPE_FloorImage_DropZone" style="width:100%; height:100%"></div></div>' +
' <div class="TPE_FloorImage_Image" style="margin:-10px 0 5px; text-align:center; font-size:12px; font-style:italic">(Drag & Drop Images Here)</div>' +
' <div class="TPE_FloorImage_Image" style="margin:-10px 0 5px; text-align:center; font-size:12px;">Stored Image Size: <span id="TPE_FloorImage_Size"></span></div>' +
' <div><label title=""><input type="checkbox" data-saveto="floortiles.image_floor" data-group="TPE_Group_FloorImage_Floor">Apply to Floor</label></div>' +
' <div class="TPE_Group_FloorImage_Floor TPE_SubGroup">' +
' <label title="Less than 100 is darker. Over 100 is brighter. Unchanged is 100.">Brightness: <input type="number" min="0" max="500" data-saveto="floortiles.image_brightness"></label>' +
' <label title="Less than 100 is less contrast. Over 100 is more contrast. Unchanged is 100.">Contrast: <input type="number" min="0" max="500" data-saveto="floortiles.image_contrast"></label>' +
' <label title="Less than 100 is less saturation. Over 100 is more saturation. Unchanged is 100.">Saturation: <input type="number" min="0" max="500" data-saveto="floortiles.image_saturation"></label>' +
' <label title="100 is unchanged. 0 is transparent.">Opacity: <input type="number" min="0" max="100" data-saveto="floortiles.image_opacity"></label>' +
' <label title="0 is unchanged.">Hue Rotate: <input type="number" min="0" max="360" step="5" data-saveto="floortiles.image_huerotate"></label>' +
' <label title="">Sepia: <input type="number" min="0" max="100" data-saveto="floortiles.image_sepia"></label>' +
' <label title="">Grayscale: <input type="number" min="0" max="100" data-saveto="floortiles.image_grayscale"></label>' +
' <label title="">Blur: <input type="number" min="0" max="50" data-saveto="floortiles.image_blur"></label>' +
' </div>' +
' <div><label title=""><input type="checkbox" data-saveto="floortiles.image_walls" data-group="TPE_Group_FloorImage_Walls">Apply to Walls</label></div>' +
' <div class="TPE_Group_FloorImage_Walls TPE_SubGroup">' +
' <label title="Less than 100 is darker. Over 100 is brighter. Unchanged is 100.">Brightness: <input type="number" min="0" max="500" data-saveto="floortiles.image_walls_brightness"></label>' +
' <label title="Less than 100 is less contrast. Over 100 is more contrast. Unchanged is 100.">Contrast: <input type="number" min="0" max="500" data-saveto="floortiles.image_walls_contrast"></label>' +
' <label title="Less than 100 is less saturation. Over 100 is more saturation. Unchanged is 100.">Saturation: <input type="number" min="0" max="500" data-saveto="floortiles.image_walls_saturation"></label>' +
' <label title="100 is unchanged. 0 is transparent.">Opacity: <input type="number" min="0" max="100" data-saveto="floortiles.image_walls_opacity"></label>' +
' <label title="0 is unchanged.">Hue Rotate: <input type="number" min="0" max="360" step="5" data-saveto="floortiles.image_walls_huerotate"></label>' +
' <label title="">Sepia: <input type="number" min="0" max="100" data-saveto="floortiles.image_walls_sepia"></label>' +
' <label title="">Grayscale: <input type="number" min="0" max="100" data-saveto="floortiles.image_walls_grayscale"></label>' +
' <label title="">Blur: <input type="number" min="0" max="50" data-saveto="floortiles.image_walls_blur"></label>' +
' </div>' +
'</div>');
//Floor Gradient...
$('#TPE_FloorTiles').append('<label><input type="checkbox" data-saveto="floortiles.gradient" data-group="TPE_Group_FloorGradient">Floor Gradient</label>' +
'<div class="TPE_Group_FloorGradient TPE_SubGroup">' +
' <label title="">Color 1: <input type="color" data-saveto="floortiles.gradient_color1"></label>' +
' <label title="">Color 2: <input type="color" data-saveto="floortiles.gradient_color2"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity 1: <input type="number" min="0" max="100" data-saveto="floortiles.gradient_opacity1"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity 2: <input type="number" min="0" max="100" data-saveto="floortiles.gradient_opacity2"></label>' +
' <select title="" data-saveto="floortiles.gradient_type" style="color:black">' +
' <option value="centerline">Halfway</option>' +
' <option value="centercircle">Center Radial</option>' +
' <option value="randomcircles" title="&quot;Repeats&quot; is blur - higher is better">Random Circles</option>' +
' <option value="randomsquares" title="&quot;Repeats&quot; is blur - higher is better">Random Squares</option>' +
//' <option value="flags">Between Flags</option>' +
' </select>' +
' <label title="Number of times the gradient repeats (or the amount or blur for Random Circles/Squares)">Repeats: <input type="number" min="2" max="100" step="2" data-saveto="floortiles.gradient_repeats"></label>' +
'</div>');
//Splotches...
$('#TPE_FloorTiles').append('<label><input type="checkbox" data-saveto="floortiles.splotches" data-group="TPE_Group_FloorSplotches">Splotches</label>' +
'<div class="TPE_Group_FloorSplotches TPE_SubGroup">' +
' <label title="Base color for the splotches">Color: <input type="color" data-saveto="floortiles.splotches_color_base"></label>' +
' <select title="Only for colors (won\'t work for black/white/grey)" data-saveto="floortiles.splotches_color_scheme" style="color:black">' +
' <option value="normal">Normal</option>' +
' <option value="complementary">Complementary</option>' +
' <option value="analogous">Analogous</option>' +
' <option value="triadic">Triadic</option>' +
' </select>' +
' <label title="">Radius: <input type="number" min="30" max="500" step="5" data-saveto="floortiles.splotches_radius"></label>' +
//' <label title="">Spacing: <input type="number" min="25" max="500" step="5" data-saveto="floortiles.splotches_spacing"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity: <input type="number" min="5" max="100" data-saveto="floortiles.splotches_color_opacity"></label>' +
' <label title="<40 = Dull Colors; >60 = Rich Colors">Saturation: <input type="number" min="0" max="100" data-saveto="floortiles.splotches_color_saturation"></label>' +
' <label title="<40 = Dark Shades; >60 = Lighter Shades">Brightness: <input type="number" min="0" max="100" data-saveto="floortiles.splotches_color_brightness"></label>' +
'</div>');
//Hexagons...
$('#TPE_FloorTiles').append('<label title=""><input type="checkbox" data-saveto="floortiles.hexagons" data-group="TPE_Group_Tiles_Hexagons">Add Hexagons</label>' +
'<div class="TPE_Group_Tiles_Hexagons TPE_SubGroup">' +
' <label title="">Size: <input type="number" min="1" max="600" data-saveto="floortiles.hexagons_size"></label>' +
' <label title="">Line Width: <input type="number" min="0" max="10" data-saveto="floortiles.hexagons_linewidth"></label>' +
' <label title="">Margin: <input type="number" min="0" max="20" data-saveto="floortiles.hexagons_margin"></label>' +
' <label title="">Blur: <input type="number" min="0" max="10" data-saveto="floortiles.hexagons_blur"></label>' +
' <div><label title=""><input type="checkbox" data-saveto="floortiles.hexagons_stroke" data-group="TPE_Group_Tiles_Hexagons_Stroke"> Stroke</label>' +
' <div class="TPE_Group_Tiles_Hexagons_Stroke" style="display:inline-block;"><label title=""><input type="color" data-saveto="floortiles.hexagons_stroke_color"></label>' +
' <label title="Opacity: 0=Transparent, 100=Solid Color"><input type="number" min="0" max="100" data-saveto="floortiles.hexagons_stroke_opacity"></label>' +
' <label title="Gradient Position (0=No Gradient)"><input type="number" min="0" max="100" data-saveto="floortiles.hexagons_stroke_gradient"></label></div></div>' +
' <div><label title=""><input type="checkbox" data-saveto="floortiles.hexagons_fill" data-group="TPE_Group_Tiles_Hexagons_Fill"> Fill</label>' +
' <div class="TPE_Group_Tiles_Hexagons_Fill" style="display:inline-block;"><label title=""><input type="color" data-saveto="floortiles.hexagons_fill_color"></label>' +
' <label title="Opacity: 0=Transparent, 100=Solid Color"><input type="number" min="0" max="100" data-saveto="floortiles.hexagons_fill_opacity"></label>' +
' <label title="Gradient Position (0=No Gradient)"><input type="number" min="0" max="100" data-saveto="floortiles.hexagons_fill_gradient"></label></div></div>' +
'</div>');
//Checkered...
$('#TPE_FloorTiles').append('<label title="Checkered Tiles works best when...\n- The 2 Tint Colors are the same (or very similar), and/or\n- The 2 Tint Opacity values are close together (1-10 difference is usually good)"><input type="checkbox" data-saveto="floortiles.checkered" data-group="TPE_Group_CheckeredTiles">Checkered Tiles</label>' +
'<div class="TPE_Group_CheckeredTiles TPE_SubGroup">' +
' <label title="Tint the alternate floor tiles with this color">Alt Tint: <input type="color" data-saveto="floortiles.checkered_altTintColor"></label>' +
' <label title="0=No Tint, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="floortiles.checkered_altTintOpacity"></label>' +
' <label title="0=Half Map">Size: <input type="number" min="0" max="400" data-saveto="floortiles.checkered_size"></label>' +
' <label title="">Margin: <input type="number" min="0" max="200" data-saveto="floortiles.checkered_margin"></label>' +
' <label title="">Random: <input type="checkbox" data-saveto="floortiles.checkered_random"></label>' +
//' <label title="">Blur: <input type="number" min="0" max="100" data-saveto="floortiles.checkered_blur"></label>' +
'</div>');
//Square Grid...
$('#TPE_FloorTiles').append('<label title=""><input type="checkbox" data-saveto="floortiles.grids_square" data-group="TPE_Group_Grids_Square">Square Grid</label>' +
'<div class="TPE_Group_Grids_Square TPE_SubGroup">' +
' <label title="">Size: <input type="number" min="1" max="400" data-saveto="floortiles.grids_square_size"></label>' +
' <label title="">Margin: <input type="number" min="0" max="40" data-saveto="floortiles.grids_square_margin"></label>' +
' <label title="">Color: <input type="color" data-saveto="floortiles.grids_square_color"></label>' +
' <label title="">Linewidth: <input type="number" min="1" max="40" data-saveto="floortiles.grids_square_linewidth"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="floortiles.grids_square_opacity"></label>' +
' <label title="">Dashed: <input type="number" min="0" max="40" data-saveto="floortiles.grids_square_dashed"></label>' +
' <label title="">Blur: <input type="number" min="0" max="10" data-saveto="floortiles.grids_square_blur"></label>' +
' <label title="Also draws the right and bottom edges">Alt Side: <input type="checkbox" data-saveto="floortiles.grids_square_altSides" data-group="TPE_Group_Grids_Square_AltSides"></label>' +
' <label title="Color for the right & bottom edges. If darker than grid color, the tile appears raised. If lighter, the tile appears sunken." class="TPE_Group_Grids_Square_AltSides">Color: <input type="color" data-saveto="floortiles.grids_square_altColor"></label>' +
'</div>');
//Diagonal Grid...
$('#TPE_FloorTiles').append('<label><input type="checkbox" data-saveto="floortiles.grids_diagonal" data-group="TPE_Group_Grids_Diagonal">Diagonal Grid</label>' +
'<div class="TPE_Group_Grids_Diagonal TPE_SubGroup">' +
' <label title="">Size: <input type="number" min="1" max="400" data-saveto="floortiles.grids_diagonal_size"></label>' +
' <label title="">Color: <input type="color" data-saveto="floortiles.grids_diagonal_color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="floortiles.grids_diagonal_opacity"></label>' +
' <label title="0=No Dash">Dashed: <input type="number" min="0" max="40" data-saveto="floortiles.grids_diagonal_dashed"></label>' +
' <label title="">Blur: <input type="number" min="0" max="10" data-saveto="floortiles.grids_diagonal_blur"></label>' +
'</div>');
//Specks...
$('#TPE_FloorTiles').append('<label title=""><input type="checkbox" data-saveto="floortiles.specks" data-group="TPE_Group_Tiles_Specks">Add Randoms</label>' +
'<div class="TPE_Group_Tiles_Specks TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="floortiles.specks_color"></label>' +
' <label title="Negative = Random opacity up to this value, 100=Solid Color">Opacity: <input type="number" min="-100" max="100" data-saveto="floortiles.specks_opacity"></label>' +
' <label title="Negative = Random lengths up to value">Length: <input type="number" min="-500" max="500" data-saveto="floortiles.specks_length"></label>' +
' <label title="">Width: <input type="number" min="1" max="20" data-saveto="floortiles.specks_width"></label>' +
' <label title="0=Random Angles">Angle: <input type="number" min="0" max="360" value="315" data-saveto="floortiles.specks_angle"></label>' +
' <label title="The approx number of randoms to draw per 40px tile">Count: <input type="number" min="1" max="300" data-saveto="floortiles.specks_count"></label>' +
'</div>');
//Floor Presets...
$('#TPE_FloorTiles').append('<div id="TPE_Presets_FloorTiles" class="TPE_Presets" style="position:relative; text-align:center; margin-top:5px; width:100%; border:1px solid #555; border-radius:3px; padding:5px 0;" title="Floor Tile Presets"></div>');
/****************************/
/******** 3rd Column ********/
/****************************/
$('#TPE_GameOptions').append('<div id="TPE_Options3_Outer" style="position:relative; display:flex; flex-flow:column wrap; align-items:flex-start; margin:10px 5px; width:340px;"></div>');
//Base Shapes...
$('#TPE_Options3_Outer').append('<div id="TPE_ShapesOptions" style="display:flex; flex-flow:column wrap; width:100%; padding:6px; border:1px solid #777; border-radius:10px; background:linear-gradient(115deg, #111, #444448)"></div>');
$('#TPE_ShapesOptions').append('<label title="Draws a line down the center of the map"><input type="checkbox" data-saveto="shapes.centerline" data-group="TPE_Group_ShapesCenterLine">Map Center Line</label>' +
'<div class="TPE_Group_ShapesCenterLine TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="shapes.centerline_color"></label>' +
' <label title="">Line Width: <input type="number" min="1" max="40" data-saveto="shapes.centerline_width"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="shapes.centerline_opacity"></label>' +
' <label title="0=Solid Line">Dash Size: <input type="number" min="0" max="50" data-saveto="shapes.centerline_dashsize"></label>' +
'</div>');
$('#TPE_ShapesOptions').append('<label title="Draws a line between the Red/Blue Flags in CTF (none for NF)"><input type="checkbox" data-saveto="shapes.flagline" data-group="TPE_Group_ShapesFlagLine">Flag Line</label>' +
'<div class="TPE_Group_ShapesFlagLine TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="shapes.flagline_color"></label>' +
' <label title="">Line Width: <input type="number" min="1" max="40" data-saveto="shapes.flagline_width"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="shapes.flagline_opacity"></label>' +
' <label title="0=Solid Line">Dash Size: <input type="number" min="0" max="50" data-saveto="shapes.flagline_dashsize"></label>' +
'</div>');
$('#TPE_ShapesOptions').append('<label title="Draws a circle around the flags"><input type="checkbox" data-saveto="shapes.circle" data-group="TPE_Group_ShapesCircle">Circle Around Flags</label>' +
'<div class="TPE_Group_ShapesCircle TPE_SubGroup">' +
' <label title="">"R": <input type="color" data-saveto="shapes.circle_red_color"></label>' +
' <label title="">"B": <input type="color" data-saveto="shapes.circle_blue_color"></label>' +
' <label title="">"Y": <input type="color" data-saveto="shapes.circle_yellow_color"></label>' +
' <label title="Line Width">Line Width: <input type="number" min="1" max="100" data-saveto="shapes.circle_width"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="shapes.circle_opacity"></label>' +
' <label title="">Radius: <input type="number" min="1" max="400" data-saveto="shapes.circle_radius"></label>' +
' <label title="">Use Gradient: <input type="checkbox" data-saveto="shapes.circle_gradient"></label>' +
' <label title="">Dash Size: <input type="number" min="0" max="50" data-saveto="shapes.circle_dashsize"></label>' +
'</div>');
$('#TPE_ShapesOptions').append('<label title="Draws a n-sided polygon around the flags"><input type="checkbox" data-saveto="shapes.octagon" data-group="TPE_Group_ShapesOctagon">Polygon Around Flags</label>' +
'<div class="TPE_Group_ShapesOctagon TPE_SubGroup">' +
' <label title="">"R": <input type="color" data-saveto="shapes.octagon_red_color"></label>' +
' <label title="">"B": <input type="color" data-saveto="shapes.octagon_blue_color"></label>' +
' <label title="">"Y": <input type="color" data-saveto="shapes.octagon_yellow_color"></label>' +
' <label title="Hint: 100 will be a circle">#Sides: <input type="number" min="3" max="100" data-saveto="shapes.octagon_sides"></label>' +
' <label title="">Radius: <input type="number" min="40" max="400" data-saveto="shapes.octagon_radius"></label>' +
' <label title="Line Width">Line Width: <input type="number" min="1" max="40" data-saveto="shapes.octagon_width"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="shapes.octagon_opacity"></label>' +
' <label title="0=No Fill. 100=Solid Color (can\'t see flag)">Fill Opacity: <input type="number" min="0" max="100" data-saveto="shapes.octagon_fillopacity"></label>' +
' <label title="">Use Gradient: <input type="checkbox" data-saveto="shapes.octagon_fillgradient"></label>' +
'</div>');
$('#TPE_ShapesOptions').append('<label title="Draws a cross around the flags"><input type="checkbox" data-saveto="shapes.cross" data-group="TPE_Group_ShapesCross">Radial Lines Around Flags</label>' +
'<div class="TPE_Group_ShapesCross TPE_SubGroup">' +
' <label title="">"R": <input type="color" data-saveto="shapes.cross_red_color"></label>' +
' <label title="">"B": <input type="color" data-saveto="shapes.cross_blue_color"></label>' +
' <label title="">"Y": <input type="color" data-saveto="shapes.cross_yellow_color"></label>' +
' <label title="Line Width">Line Width: <input type="number" min="1" max="80" data-saveto="shapes.cross_width"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="shapes.cross_opacity"></label>' +
' <label title="Inner Radius"># Lines: <input type="number" min="1" max="200" data-saveto="shapes.cross_radius_inner"></label>' +
' <label title="Outer Radius)">Outer: <input type="number" min="20" max="2000" step="5" data-saveto="shapes.cross_radius_outer"></label>' +
'</div>');
$('#TPE_ShapesOptions').append('<label title="Draws a circle around the Gravity Well outer area"><input type="checkbox" data-saveto="gravityWell.enable" data-group="TPE_Group_GravityWell">Circle Around Gravity Well</label>' +
'<div class="TPE_Group_GravityWell TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="gravityWell.color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="gravityWell.opacity"></label>' +
' <label title="">Line Width: <input type="number" min="1" max="100" data-saveto="gravityWell.linewidth"></label>' +
' <label title="">Dash Size: <input type="number" min="0" max="50" data-saveto="gravityWell.dashsize"></label>' +
' <label title="">Use Gradient: <input type="checkbox" data-saveto="gravityWell.useGradient"></label>' +
'</div>');
//Glow...
$('#TPE_Options3_Outer').append('<div id="TPE_GlowOptions" style="display:flex; flex-flow:column wrap; width:100%; margin:10px 0 0; padding:6px; border:1px solid #777; border-radius:10px; background:linear-gradient(115deg, #111, #444448)"></div>');
$('#TPE_GlowOptions').append('<label title=""><input type="checkbox" data-saveto="glow.boosts_red" data-group="TPE_Group_GlowBoostsRed">Red Boosts Glow</label>' +
'<div class="TPE_Group_GlowBoostsRed TPE_SubGroup">' +
' <label title=""><input type="color" data-saveto="glow.boosts_red_color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity:<input type="number" min="0" max="100" data-saveto="glow.boosts_red_opacity"></label>' +
' <label title="">Radius:<input type="number" min="0" max="200" data-saveto="glow.boosts_red_radius"></label>' +
'</div>');
$('#TPE_GlowOptions').append('<label title=""><input type="checkbox" data-saveto="glow.boosts_blue" data-group="TPE_Group_GlowBoostsBlue">Blue Boosts Glow</label>' +
'<div class="TPE_Group_GlowBoostsBlue TPE_SubGroup">' +
' <label title=""><input type="color" data-saveto="glow.boosts_blue_color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity:<input type="number" min="0" max="100" data-saveto="glow.boosts_blue_opacity"></label>' +
' <label title="">Radius:<input type="number" min="0" max="200" data-saveto="glow.boosts_blue_radius"></label>' +
'</div>');
$('#TPE_GlowOptions').append('<label title=""><input type="checkbox" data-saveto="glow.boosts_yellow" data-group="TPE_Group_GlowBoostsYellow">Neutral Boosts Glow</label>' +
'<div class="TPE_Group_GlowBoostsYellow TPE_SubGroup">' +
' <label title=""><input type="color" data-saveto="glow.boosts_yellow_color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity:<input type="number" min="0" max="100" data-saveto="glow.boosts_yellow_opacity"></label>' +
' <label title="">Radius:<input type="number" min="0" max="200" data-saveto="glow.boosts_yellow_radius"></label>' +
'</div>');
$('#TPE_GlowOptions').append('<label title=""><input type="checkbox" data-saveto="glow.flags_red" data-group="TPE_Group_GlowFlagRed">Red Flag Glow</label>' +
'<div class="TPE_Group_GlowFlagRed TPE_SubGroup">' +
' <label title=""><input type="color" data-saveto="glow.flags_red_color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity:<input type="number" min="0" max="100" data-saveto="glow.flags_red_opacity"></label>' +
' <label title="">Radius:<input type="number" min="0" max="400" data-saveto="glow.flags_red_radius"></label>' +
'</div>');
$('#TPE_GlowOptions').append('<label title=""><input type="checkbox" data-saveto="glow.flags_blue" data-group="TPE_Group_GlowFlagBlue">Blue Flag Glow</label>' +
'<div class="TPE_Group_GlowFlagBlue TPE_SubGroup">' +
' <label title=""><input type="color" data-saveto="glow.flags_blue_color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity:<input type="number" min="0" max="100" data-saveto="glow.flags_blue_opacity"></label>' +
' <label title="">Radius:<input type="number" min="0" max="400" data-saveto="glow.flags_blue_radius"></label>' +
'</div>');
$('#TPE_GlowOptions').append('<label title=""><input type="checkbox" data-saveto="glow.flags_yellow" data-group="TPE_Group_GlowFlagYellow">Yellow Flag Glow</label>' +
'<div class="TPE_Group_GlowFlagYellow TPE_SubGroup">' +
' <label title=""><input type="color" data-saveto="glow.flags_yellow_color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity:<input type="number" min="0" max="100" data-saveto="glow.flags_yellow_opacity"></label>' +
' <label title="">Radius:<input type="number" min="0" max="400" data-saveto="glow.flags_yellow_radius"></label>' +
'</div>');
$('#TPE_GlowOptions').append('<label title=""><input type="checkbox" data-saveto="glow.spikes" data-group="TPE_Group_GlowSpikes">Spikes Glow</label>' +
'<div class="TPE_Group_GlowSpikes TPE_SubGroup">' +
' <label title=""><input type="color" data-saveto="glow.spikes_color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity:<input type="number" min="0" max="100" data-saveto="glow.spikes_opacity"></label>' +
' <label title="">Radius:<input type="number" min="0" max="200" data-saveto="glow.spikes_radius"></label>' +
'</div>');
$('#TPE_GlowOptions').append('<label title=""><input type="checkbox" data-saveto="glow.bombs" data-group="TPE_Group_GlowBombs">Bombs Glow</label>' +
'<div class="TPE_Group_GlowBombs TPE_SubGroup">' +
' <label title=""><input type="color" data-saveto="glow.bombs_color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity:<input type="number" min="0" max="100" data-saveto="glow.bombs_opacity"></label>' +
' <label title="">Radius:<input type="number" min="0" max="200" data-saveto="glow.bombs_radius"></label>' +
'</div>');
$('#TPE_GlowOptions').append('<label title=""><input type="checkbox" data-saveto="glow.pups" data-group="TPE_Group_GlowPUPs">Power-Ups Glow</label>' +
'<div class="TPE_Group_GlowPUPs TPE_SubGroup">' +
' <label title=""><input type="color" data-saveto="glow.pups_color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity:<input type="number" min="0" max="100" data-saveto="glow.pups_opacity"></label>' +
' <label title="">Radius:<input type="number" min="0" max="200" data-saveto="glow.pups_radius"></label>' +
'</div>');
/****************************/
/******** 4th Column ********/
/****************************/
$('#TPE_GameOptions').append('<div id="TPE_Options4_Outer" style="display:flex; flex-flow:column wrap; align-items:flex-start; justify-content:center; margin:10px 5px; width:340px;"></div>');
//Walls...
$('#TPE_Options4_Outer').append('<div id="TPE_WallTileOptions" style="display:flex; flex-flow:column wrap; width:100%; padding:6px; border:1px solid #777; border-radius:10px; background:linear-gradient(115deg, #111, #444448)"></div>');
$('#TPE_WallTileOptions').append('<label title=""><input type="checkbox" data-saveto="walls.modify" data-group="TPE_Group_ModifyWalls">Modify Walls</label>' +
'<div class="TPE_Group_ModifyWalls TPE_SubGroup">' +
' <label title="">Tint: <input type="color" data-saveto="walls.color"></label>' +
' <label title="0=No Tint, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="walls.opacity"></label>' +
' <label title="Less than 100 is darker. Over 100 is brighter. Unchanged is 100.">Brightness: <input type="number" min="0" max="200" data-saveto="walls.brightness"></label>' +
' <label title="Less than 100 is less contrast. Over 100 is more contrast. Unchanged is 100.">Contrast: <input type="number" min="0" max="200" data-saveto="walls.contrast"></label>' +
' <label title="">Sepia: <input type="number" min="0" max="100" data-saveto="walls.sepia"></label>' +
' <label title="Use Inverted (Negative) Colors">Invert: <input type="number" min="0" max="100" data-saveto="walls.invert"></label>' +
' <div><label title=""><input type="checkbox" data-saveto="walls.shadow" data-group="TPE_Group_WallsShadow">Add Shadow</label>' +
' <div class="TPE_Group_WallsShadow TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="walls.shadow_color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="walls.shadow_opacity"></label>' +
' <label title="">Size: <input type="number" min="0" max="20" data-saveto="walls.shadow_size"></label>' +
' <label title="">Blur: <input type="number" min="0" max="20" data-saveto="walls.shadow_blur"></label>' +
' <label title=""><input type="checkbox" data-saveto="walls.shadow_include_gates">Include Gates</label>' +
' </div></div>' +
'</div>');
//Gradient...
$('#TPE_WallTileOptions').append('<label><input type="checkbox" data-saveto="walls.gradient" data-group="TPE_Group_WallGradient">Wall Gradient</label>' +
'<div class="TPE_Group_WallGradient TPE_SubGroup">' +
' <label title="">Color 1: <input type="color" data-saveto="walls.gradient_color1"></label>' +
' <label title="">Color 2: <input type="color" data-saveto="walls.gradient_color2"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity 1: <input type="number" min="0" max="100" data-saveto="walls.gradient_opacity1"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity 2: <input type="number" min="0" max="100" data-saveto="walls.gradient_opacity2"></label>' +
' <select title="" data-saveto="walls.gradient_type" style="color:black">' +
' <option value="centerline">Halfway</option>' +
' <option value="centercircle">Center Radial</option>' +
' <option value="randomcircles" title="&quot;Repeats&quot; is blur - higher is better">Random Circles</option>' +
' <option value="randomsquares" title="&quot;Repeats&quot; is blur - higher is better">Random Squares</option>' +
//' <option value="flags">Between Flags</option>' +
' </select>' +
' <label title="Number of times the gradient repeats (or the amount or blur for Random Circles/Squares)">Repeats: <input type="number" min="2" max="100" step="2" data-saveto="walls.gradient_repeats"></label>' +
'</div>');
//Splotches...
$('#TPE_WallTileOptions').append('<label><input type="checkbox" data-saveto="walls.splotches" data-group="TPE_Group_WallSplotches">Splotches</label>' +
'<div class="TPE_Group_WallSplotches TPE_SubGroup">' +
' <label title="Base color for the splotches">Color: <input type="color" data-saveto="walls.splotches_color_base"></label>' +
' <select title="Only for colors (won\'t work for black/white/grey)" data-saveto="walls.splotches_color_scheme" style="color:black">' +
' <option value="normal">Normal</option>' +
' <option value="complementary">Complementary</option>' +
' <option value="analogous">Analogous</option>' +
' <option value="triadic">Triadic</option>' +
' </select>' +
' <label title="0=Transparent, 100=Solid Color">Opacity: <input type="number" min="5" max="100" data-saveto="walls.splotches_color_opacity"></label>' +
' <label title="">Radius: <input type="number" min="30" max="500" step="5" data-saveto="walls.splotches_radius"></label>' +
//' <label title="">Spacing: <input type="number" min="5" max="500" step="5" data-saveto="walls.splotches_spacing"></label>' +
//' <label title="0=Red; 120=Green; 240=Blue">Hue: <input type="number" min="0" max="360" step="5" data-saveto="walls.splotches_color_hue"></label>' +
' <label title="<40 = Dull Colors; >60 = Rich Colors">Saturation: <input type="number" min="0" max="100" data-saveto="walls.splotches_color_saturation"></label>' +
' <label title="<40 = Dark Shades; >60 = Lighter Shades">Brightness: <input type="number" min="0" max="100" data-saveto="walls.splotches_color_brightness"></label>' +
'</div>');
//Checkered...
$('#TPE_WallTileOptions').append('<label title="Checkered Tiles works best when...\n- The 2 Tint Colors are the same (or very similar), and/or\n- The 2 Tint Opacity values are close together (1-10 difference is usually good)"><input type="checkbox" data-saveto="walls.checkered" data-group="TPE_Group_Wall_Checkered">Checkered</label>' +
'<div class="TPE_Group_Wall_Checkered TPE_SubGroup">' +
' <label title="Tint the alternate floor tiles with this color">Alt Tint: <input type="color" data-saveto="walls.checkered_altTintColor"></label>' +
' <label title="0=No Tint, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="walls.checkered_altTintOpacity"></label>' +
' <label title="0=Half Map">Size: <input type="number" min="-1" max="400" data-saveto="walls.checkered_size"></label>' +
' <label title="">Margin: <input type="number" min="0" max="200" data-saveto="walls.checkered_margin"></label>' +
' <label title="">Random: <input type="checkbox" data-saveto="walls.checkered_random"></label>' +
//' <label title="">Blur: <input type="number" min="0" max="100" data-saveto="walls.checkered_blur"></label>' +
'</div>');
//Square Grid...
$('#TPE_WallTileOptions').append('<label title=""><input type="checkbox" data-saveto="walls.grids_square" data-group="TPE_Group_Wall_Grids_Square">Square Grid</label>' +
'<div class="TPE_Group_Wall_Grids_Square TPE_SubGroup">' +
' <label title="">Size: <input type="number" min="1" max="400" data-saveto="walls.grids_square_size"></label>' +
' <label title="">Margin: <input type="number" min="0" max="40" data-saveto="walls.grids_square_margin"></label>' +
' <label title="">Color: <input type="color" data-saveto="walls.grids_square_color"></label>' +
' <label title="">Linewidth: <input type="number" min="1" max="40" data-saveto="walls.grids_square_linewidth"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="walls.grids_square_opacity"></label>' +
' <label title="">Dashed: <input type="number" min="0" max="40" data-saveto="walls.grids_square_dashed"></label>' +
' <label title="">Blur: <input type="number" min="0" max="10" data-saveto="walls.grids_square_blur"></label>' +
' <label title="Also draws the right and bottom edges">Alt Side: <input type="checkbox" data-saveto="walls.grids_square_altSides" data-group="TPE_Group_Wall_Grids_Square_AltSides"></label>' +
' <label title="Color for the right & bottom edges. If darker than grid color, the tile appears raised. If lighter, the tile appears sunken." class="TPE_Group_Wall_Grids_Square_AltSides">Color: <input type="color" data-saveto="walls.grids_square_altColor"></label>' +
'</div>');
//Diagonal Grid...
$('#TPE_WallTileOptions').append('<label><input type="checkbox" data-saveto="walls.grids_diagonal" data-group="TPE_Group_Wall_Grids_Diagonal">Diagonal Grid</label>' +
'<div class="TPE_Group_Wall_Grids_Diagonal TPE_SubGroup">' +
' <label title="">Size: <input type="number" min="1" max="400" data-saveto="walls.grids_diagonal_size"></label>' +
' <label title="">Color: <input type="color" data-saveto="walls.grids_diagonal_color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="walls.grids_diagonal_opacity"></label>' +
' <label title="0=No Dash">Dashed: <input type="number" min="0" max="40" data-saveto="walls.grids_diagonal_dashed"></label>' +
' <label title="">Blur: <input type="number" min="0" max="10" data-saveto="walls.grids_diagonal_blur"></label>' +
'</div>');
//Specks...
$('#TPE_WallTileOptions').append('<label title=""><input type="checkbox" data-saveto="walls.specks" data-group="TPE_Group_Wall_Specks">Add Randoms</label>' +
'<div class="TPE_Group_Wall_Specks TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="walls.specks_color"></label>' +
' <label title="Negative = Random opacity up to this value, 100=Solid Color">Opacity: <input type="number" min="-100" max="100" data-saveto="walls.specks_opacity"></label>' +
' <label title="Negative = Random lengths up to value">Length: <input type="number" min="-500" max="500" data-saveto="walls.specks_length"></label>' +
' <label title="">Width: <input type="number" min="1" max="20" data-saveto="walls.specks_width"></label>' +
' <label title="0=Random Angles">Angle: <input type="number" min="0" max="360" value="315" data-saveto="walls.specks_angle"></label>' +
' <label title="The approx number of randoms to draw per 40px tile">Count: <input type="number" min="1" max="300" data-saveto="walls.specks_count"></label>' +
'</div>');
//Wall Presets...
$('#TPE_WallTileOptions').append('<div id="TPE_Presets_Walls" class="TPE_Presets" style="position:relative; text-align:center; margin-top:5px; width:100%; border:1px solid #555; border-radius:3px; padding:5px 0;" title="Wall Presets"></div>');
//Spikes...
$('#TPE_Options4_Outer').append('<div id="TPE_SpikeTileOptions" style="display:flex; flex-flow:column wrap; width:100%; margin-top:10px; padding:6px; border:1px solid #777; border-radius:10px; background:linear-gradient(115deg, #111, #444448)"></div>');
$('#TPE_SpikeTileOptions').append('<label title=""><input type="checkbox" data-saveto="spikes.modify" data-group="TPE_Group_TintSpikes">Modify Spikes</label>' +
'<div class="TPE_Group_TintSpikes TPE_SubGroup">' +
' <label title="">Tint: <input type="color" data-saveto="spikes.color"></label>' +
' <label title="0=No Tint, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="spikes.opacity"></label>' +
' <label title="Less than 100 is darker. Over 100 is brighter. Unchanged is 100.">Brightness: <input type="number" min="0" max="200" data-saveto="spikes.brightness"></label>' +
' <label title="Less than 100 is less contrast. Over 100 is more contrast. Unchanged is 100.">Contrast: <input type="number" min="0" max="200" data-saveto="spikes.contrast"></label>' +
' <label title="">Sepia: <input type="number" min="0" max="100" data-saveto="spikes.sepia"></label>' +
' <div><label title=""><input type="checkbox" data-saveto="spikes.shapes_star" data-group="TPE_Group_SpikesCustom">Custom</label>' +
' <div class="TPE_Group_SpikesCustom TPE_SubGroup">' +
' <label class="TPE_Group_Spikes_Shapes_Star_Stroke" title="">Color: <input type="color" data-saveto="spikes.shapes_star_color"></label>' +
' <label title="Set to 0 for no outline">Line Width: <input type="number" min="0" max="10" data-saveto="spikes.shapes_star_width"></label>' +
' <div><label title=""><input type="checkbox" data-saveto="spikes.shapes_star_fill" data-group="TPE_Group_Spikes_Shapes_Star_Fill">Fill</label>' +
' <label class="TPE_Group_Spikes_Shapes_Star_Fill" title="">Color: <input type="color" data-saveto="spikes.shapes_star_fill_color"></label></div>' +
' <div><label title="">#: <input type="number" min="2" max="20" data-saveto="spikes.shapes_star_spikes"></label>' +
' <label title="">In: <input type="number" min="0" max="20" data-saveto="spikes.shapes_star_inner"></label>' +
' <label title="">Out: <input type="number" min="1" max="20" data-saveto="spikes.shapes_star_outer"></label></div>' +
' <div><label title=""><input type="checkbox" data-saveto="spikes.shapes_star_border" data-group="TPE_Group_SpikesCustomBorder">Border Stroke</label>' +
' <div class="TPE_Group_SpikesCustomBorder TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="spikes.shapes_star_border_color"></label>' +
' <label title="TagPro default is 14 (= 28px)">Radius: <input type="number" min="1" max="20" data-saveto="spikes.shapes_star_border_radius"></label>' +
' <label title="">Width: <input type="number" min="1" max="10" data-saveto="spikes.shapes_star_border_linewidth"></label>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-saveto="spikes.shapes_star_border_fill" data-group="TPE_Group_SpikesCustomBorderFill">Border Fill</label>' +
' <div class="TPE_Group_SpikesCustomBorderFill TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="spikes.shapes_star_border_fill_color"></label>' +
' <label title="TagPro default is 14 (= 28px)">Radius: <input type="number" min="1" max="20" data-saveto="spikes.shapes_star_border_fill_radius"></label>' +
' <label title=""><input type="checkbox" data-group="TPE_Group_SpikesCustomBorderGradient" data-saveto="spikes.shapes_star_border_fill_gradient">Gradient</label>' +
' </div></div>' +
' <div id="TPE_Presets_Shapes_Spikes" class="TPE_Presets" style="position:relative; text-align:center; margin-top:5px; width:100%; border:1px solid #555; border-radius:3px; padding:5px 0;" title="Wall Presets"></div>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-saveto="spikes.shadow" data-group="TPE_Group_TintSpikesShadow">Add Shadow</label>' +
' <div class="TPE_Group_TintSpikesShadow TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="spikes.shadow_color"></label>' +
' <label title="0=No Tint, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="spikes.shadow_opacity"></label>' +
' <label title="0 is center. If the position value is low, the blur value can be set higher.">Size: <input type="number" min="0" max="5" data-saveto="spikes.shadow_size"></label>' +
' <label title="0 is no blur. If the blur value is high, the position value should be set lower.">Blur: <input type="number" min="0" max="3" data-saveto="spikes.shadow_blur"></label>' +
' </div></div>' +
'</div>');
//Bombs...
$('#TPE_Options4_Outer').append('<div id="TPE_BombTileOptions" style="display:flex; flex-flow:column wrap; width:100%; margin-top:10px; padding:6px; border:1px solid #777; border-radius:10px; background:linear-gradient(115deg, #111, #444448)"></div>');
$('#TPE_BombTileOptions').append('<label title=""><input type="checkbox" data-saveto="bombs.modify" data-group="TPE_Group_TintBombs">Modify Bombs</label>' +
'<div class="TPE_Group_TintBombs TPE_SubGroup">' +
' <label title="">Tint: <input type="color" data-saveto="bombs.color"></label>' +
' <label title="0=No Tint, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="bombs.opacity"></label>' +
' <label title="Less than 100 is darker. Over 100 is brighter. Unchanged is 100.">Brightness: <input type="number" min="0" max="200" data-saveto="bombs.brightness"></label>' +
' <label title="Less than 100 is less contrast. Over 100 is more contrast. Unchanged is 100.">Contrast: <input type="number" min="0" max="200" data-saveto="bombs.contrast"></label>' +
' <label title="">Sepia: <input type="number" min="0" max="100" data-saveto="bombs.sepia"></label>' +
' <div><label title=""><input type="checkbox" data-saveto="bombs.shadow" data-group="TPE_Group_TintBombsShadow">Add Shadow</label>' +
' <div class="TPE_Group_TintBombsShadow TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="bombs.shadow_color"></label>' +
' <label title="0=No Tint, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="bombs.shadow_opacity"></label>' +
' <label title="0 is center. If the position value is low, the blur value can be set higher.">Size: <input type="number" min="0" max="5" data-saveto="bombs.shadow_size"></label>' +
' <label title="0 is no blur. If the blur value is high, the position value should be set lower.">Blur: <input type="number" min="0" max="3" data-saveto="bombs.shadow_blur"></label>' +
' </div></div>' +
'</div>');
//PUPs...
$('#TPE_Options4_Outer').append('<div id="TPE_PUPTileOptions" style="display:flex; flex-flow:column wrap; width:100%; margin-top:10px; padding:6px; border:1px solid #777; border-radius:10px; background:linear-gradient(115deg, #111, #444448)"></div>');
$('#TPE_PUPTileOptions').append('<label title=""><input type="checkbox" data-saveto="pups.jj_modify" data-group="TPE_Group_TintPUPsJJ">Tint JJ</label>' +
'<div class="TPE_Group_TintPUPsJJ TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="pups.jj_color"></label>' +
' <label title="0=No Tint, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="pups.jj_opacity"></label>' +
'</div>');
$('#TPE_PUPTileOptions').append('<label title=""><input type="checkbox" data-saveto="pups.rb_modify" data-group="TPE_Group_TintPUPsRB">Tint RB</label>' +
'<div class="TPE_Group_TintPUPsRB TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="pups.rb_color"></label>' +
' <label title="0=No Tint, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="pups.rb_opacity"></label>' +
'</div>');
$('#TPE_PUPTileOptions').append('<label title=""><input type="checkbox" data-saveto="pups.tp_modify" data-group="TPE_Group_TintPUPsTP">Tint TP</label>' +
'<div class="TPE_Group_TintPUPsTP TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="pups.tp_color"></label>' +
' <label title="0=No Tint, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="pups.tp_opacity"></label>' +
'</div>');
$('#TPE_PUPTileOptions').append('<label title=""><input type="checkbox" data-saveto="pups.shadow" data-group="TPE_Group_TintPUPsShadow">Add PUPs Shadow</label>' +
'<div class="TPE_Group_TintPUPsShadow TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="pups.shadow_color"></label>' +
' <label title="0=No Tint, 100=Solid Color">Opacity: <input type="number" min="0" max="100" data-saveto="pups.shadow_opacity"></label>' +
' <label title="0 is center. If the position value is low, the blur value can be set higher.">Size: <input type="number" min="0" max="5" data-saveto="pups.shadow_size"></label>' +
' <label title="0 is no blur. If the blur value is high, the position value should be set lower.">Blur: <input type="number" min="0" max="3" data-saveto="pups.shadow_blur"></label>' +
'</div>');
$('#TPE_Container_Balls').append('<div id="TPE_TilesEditor" style="display:flex; align-items:flex-start; justify-content:center; width:100%;"></div>');
$('#TPE_TilesEditor').append('<div id="TPE_Editor1_Outer" style="display:flex; flex-flow:column wrap; align-items:flex-start; justify-content:center; margin:10px 5px; width:340px;"></div>');
$('#TPE_TilesEditor').append('<div id="TPE_Editor2_Outer" style="display:flex; flex-flow:column wrap; align-items:flex-start; justify-content:center; margin:10px 5px; width:340px;"></div>');
$('#TPE_TilesEditor').append('<div id="TPE_Editor3_Outer" style="display:flex; flex-flow:column wrap; align-items:flex-start; justify-content:center; margin:10px 5px;"></div>');
/*** TILE EDITOR TAB ***/
//Gates...
$('#TPE_Editor1_Outer').append('<div id="TPE_GateOptions" style="display:flex; flex-flow:column wrap; width:100%; margin-top:10px; padding:6px; border:1px solid #777; border-radius:10px; background:linear-gradient(115deg, #111, #444448);">Custom Gates</div>');
$('#TPE_GateOptions').append(' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesNeutral" data-saveto="gates.neutral">Neutral</label>' +
' <span class="TPE_Group_GatesNeutral TPE_CopyGates" data-source="neutral" title="Copy the neutral values to all the other gates (excluding colors)">Copy</span>' +
' <div class="TPE_Group_GatesNeutral TPE_SubGroup">' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesNeutral_Fill" data-saveto="gates.neutral_fill">Fill</label>' +
' <div class="TPE_Group_GatesNeutral_Fill TPE_SubGroup">' +
' <label title="Color"><input type="color" data-saveto="gates.neutral_fill_color"></label>' +
' <label title="Opacity">Opac:<input type="number" min="1" max="100" data-saveto="gates.neutral_fill_opacity"></label>' +
' <label title="Margin">Marg:<input type="number" min="0" max="20" data-saveto="gates.neutral_fill_margin"></label>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesNeutralPattern" data-saveto="gates.neutral_pattern">Pattern</label>' +
' <div class="TPE_Group_GatesNeutralPattern TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="gates.neutral_pattern_color"></label>' +
' <label title="">Opacity: <input type="number" min="1" max="100" data-saveto="gates.neutral_pattern_opacity"></label>' +
' <label title="">Size: <input type="number" min="2" max="80" data-saveto="gates.neutral_pattern_size"></label>' +
' <label title="">Margin: <input type="number" min="0" max="20" data-saveto="gates.neutral_pattern_margin"></label>' +
' <label title="">Width: <input type="number" min="1" max="20" data-saveto="gates.neutral_pattern_linewidth"></label>' +
' <label title=""><input type="checkbox" data-saveto="gates.neutral_pattern_stroke">Stroke</label>' +
' <label title=""><input type="checkbox" data-saveto="gates.neutral_pattern_fill">Fill</label>' +
' <label title=""><input type="checkbox" data-saveto="gates.neutral_pattern_pyramid">Pyramid</label>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesNeutral_Border" data-saveto="gates.neutral_border">Border</label>' +
' <div class="TPE_Group_GatesNeutral_Border TPE_SubGroup">' +
' <label title="Color"><input type="color" data-saveto="gates.neutral_border_color"></label>' +
' <label title="Line Width">Line:<input type="number" min="1" max="20" data-saveto="gates.neutral_border_linewidth"></label>' +
' <label title="Margin">Marg:<input type="number" min="0" max="20" data-saveto="gates.neutral_border_margin"></label>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesNeutral_Cross" data-saveto="gates.neutral_cross">Cross</label>' +
' <div class="TPE_Group_GatesNeutral_Cross TPE_SubGroup">' +
' <label title="Color"><input type="color" data-saveto="gates.neutral_cross_color"></label>' +
' <label title="Opacity">O:<input type="number" min="1" max="100" data-saveto="gates.neutral_cross_opacity"></label>' +
' <label title="Line Width">W:<input type="number" min="1" max="20" data-saveto="gates.neutral_cross_linewidth"></label>' +
' <label title="Margin">M:<input type="number" min="0" max="20" data-saveto="gates.neutral_cross_margin"></label>' +
' </div></div>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesGreen" data-saveto="gates.green">Green</label>' +
' <div class="TPE_Group_GatesGreen TPE_SubGroup">' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesGreen_Fill" data-saveto="gates.green_fill">Fill</label>' +
' <div class="TPE_Group_GatesGreen_Fill TPE_SubGroup">' +
' <label title="Color"><input type="color" data-saveto="gates.green_fill_color"></label>' +
' <label title="">Opac:<input type="number" min="1" max="100" data-saveto="gates.green_fill_opacity"></label>' +
' <label title="Margin">Marg:<input type="number" min="0" max="20" data-saveto="gates.green_fill_margin"></label>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesGreenPattern" data-saveto="gates.green_pattern">Pattern</label>' +
' <div class="TPE_Group_GatesGreenPattern TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="gates.green_pattern_color"></label>' +
' <label title="">Opacity: <input type="number" min="1" max="100" data-saveto="gates.green_pattern_opacity"></label>' +
' <label title="">Size: <input type="number" min="2" max="80" data-saveto="gates.green_pattern_size"></label>' +
' <label title="">Margin: <input type="number" min="0" max="20" data-saveto="gates.green_pattern_margin"></label>' +
' <label title="">Width: <input type="number" min="1" max="20" data-saveto="gates.green_pattern_linewidth"></label>' +
' <label title=""><input type="checkbox" data-saveto="gates.green_pattern_stroke">Stroke</label>' +
' <label title=""><input type="checkbox" data-saveto="gates.green_pattern_fill">Fill</label>' +
' <label title=""><input type="checkbox" data-saveto="gates.green_pattern_pyramid">Pyramid</label>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesGreen_Border" data-saveto="gates.green_border">Border</label>' +
' <div class="TPE_Group_GatesGreen_Border TPE_SubGroup">' +
' <label title="Color"><input type="color" data-saveto="gates.green_border_color"></label>' +
' <label title="Line Width">Line:<input type="number" min="1" max="20" data-saveto="gates.green_border_linewidth"></label>' +
' <label title="Margin">M:<input type="number" min="0" max="20" data-saveto="gates.green_border_margin"></label>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesGreen_Cross" data-saveto="gates.green_cross">Cross</label>' +
' <div class="TPE_Group_GatesGreen_Cross TPE_SubGroup">' +
' <label title="Color"><input type="color" data-saveto="gates.green_cross_color"></label>' +
' <label title="Opacity">Opac:<input type="number" min="1" max="100" data-saveto="gates.green_cross_opacity"></label>' +
' <label title="Line Width">W:<input type="number" min="1" max="20" data-saveto="gates.green_cross_linewidth"></label>' +
' <label title="Margin">M:<input type="number" min="0" max="20" data-saveto="gates.green_cross_margin"></label>' +
' </div></div>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesRed" data-saveto="gates.red">Red</label>' +
' <div class="TPE_Group_GatesRed TPE_SubGroup">' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesRed_Fill" data-saveto="gates.red_fill">Fill</label>' +
' <div class="TPE_Group_GatesRed_Fill TPE_SubGroup">' +
' <label title="Color"><input type="color" data-saveto="gates.red_fill_color"></label>' +
' <label title="Opacity">Opac:<input type="number" min="1" max="100" data-saveto="gates.red_fill_opacity"></label>' +
' <label title="Margin">Marg:<input type="number" min="0" max="20" data-saveto="gates.red_fill_margin"></label>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesRedPattern" data-saveto="gates.red_pattern">Pattern</label>' +
' <div class="TPE_Group_GatesRedPattern TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="gates.red_pattern_color"></label>' +
' <label title="">Opacity: <input type="number" min="1" max="100" data-saveto="gates.red_pattern_opacity"></label>' +
' <label title="">Size: <input type="number" min="2" max="80" data-saveto="gates.red_pattern_size"></label>' +
' <label title="">Margin: <input type="number" min="0" max="20" data-saveto="gates.red_pattern_margin"></label>' +
' <label title="">Width: <input type="number" min="1" max="20" data-saveto="gates.red_pattern_linewidth"></label>' +
' <label title=""><input type="checkbox" data-saveto="gates.red_pattern_stroke">Stroke</label>' +
' <label title=""><input type="checkbox" data-saveto="gates.red_pattern_fill">Fill</label>' +
' <label title=""><input type="checkbox" data-saveto="gates.red_pattern_pyramid">Pyramid</label>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesRed_Border" data-saveto="gates.red_border">Border</label>' +
' <div class="TPE_Group_GatesRed_Border TPE_SubGroup">' +
' <label title="Color"><input type="color" data-saveto="gates.red_border_color"></label>' +
' <label title="Line Width">Line:<input type="number" min="1" max="20" data-saveto="gates.red_border_linewidth"></label>' +
' <label title="Margin">Marg:<input type="number" min="0" max="20" data-saveto="gates.red_border_margin"></label>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesRed_Cross" data-saveto="gates.red_cross">Cross</label>' +
' <div class="TPE_Group_GatesRed_Cross TPE_SubGroup">' +
' <label title="Color"><input type="color" data-saveto="gates.red_cross_color"></label>' +
' <label title="Opacity">Opac:<input type="number" min="1" max="100" data-saveto="gates.red_cross_opacity"></label>' +
' <label title="Line Width">W:<input type="number" min="1" max="20" data-saveto="gates.red_cross_linewidth"></label>' +
' <label title="Margin">M: <input type="number" min="0" max="20" data-saveto="gates.red_cross_margin"></label>' +
' </div></div>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesBlue" data-saveto="gates.blue">Blue</label>' +
' <div class="TPE_Group_GatesBlue TPE_SubGroup">' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesBlue_Fill" data-saveto="gates.blue_fill">Fill</label>' +
' <div class="TPE_Group_GatesBlue_Fill TPE_SubGroup">' +
' <label title="Color"><input type="color" data-saveto="gates.blue_fill_color"></label>' +
' <label title="Opacity">Opac:<input type="number" min="1" max="100" data-saveto="gates.blue_fill_opacity"></label>' +
' <label title="">Marg:<input type="number" min="0" max="20" data-saveto="gates.blue_fill_margin"></label>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesBluePattern" data-saveto="gates.blue_pattern">Pattern</label>' +
' <div class="TPE_Group_GatesBluePattern TPE_SubGroup">' +
' <label title="">Color: <input type="color" data-saveto="gates.blue_pattern_color"></label>' +
' <label title="">Opacity: <input type="number" min="1" max="100" data-saveto="gates.blue_pattern_opacity"></label>' +
' <label title="">Size: <input type="number" min="2" max="80" data-saveto="gates.blue_pattern_size"></label>' +
' <label title="">Margin: <input type="number" min="0" max="20" data-saveto="gates.blue_pattern_margin"></label>' +
' <label title="">Width: <input type="number" min="1" max="20" data-saveto="gates.blue_pattern_linewidth"></label>' +
' <label title=""><input type="checkbox" data-saveto="gates.blue_pattern_stroke">Stroke</label>' +
' <label title=""><input type="checkbox" data-saveto="gates.blue_pattern_fill">Fill</label>' +
' <label title=""><input type="checkbox" data-saveto="gates.blue_pattern_pyramid">Pyramid</label>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesBlue_Border" data-saveto="gates.blue_border">Border</label>' +
' <div class="TPE_Group_GatesBlue_Border TPE_SubGroup">' +
' <label title="Color"><input type="color" data-saveto="gates.blue_border_color"></label>' +
' <label title="Line Width">Line:<input type="number" min="1" max="20" data-saveto="gates.blue_border_linewidth"></label>' +
' <label title="Margin">Marg:<input type="number" min="0" max="20" data-saveto="gates.blue_border_margin"></label>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_GatesBlue_Cross" data-saveto="gates.blue_cross">Cross</label>' +
' <div class="TPE_Group_GatesBlue_Cross TPE_SubGroup">' +
' <label title="Color"><input type="color" data-saveto="gates.blue_cross_color"></label>' +
' <label title="Opacity">Opac:<input type="number" min="1" max="100" data-saveto="gates.blue_cross_opacity"></label>' +
' <label title="Line Width">W:<input type="number" min="1" max="20" data-saveto="gates.blue_cross_linewidth"></label>' +
' <label title="Margin">M:<input type="number" min="0" max="20" data-saveto="gates.blue_cross_margin"></label>' +
' </div></div>' +
' </div></div>');
$('#TPE_GateOptions').append('<label><input type="checkbox" data-saveto="gates.drawFloorUnderneath" title="If this is checked a normal floor tile will be drawn under the gate.">Draw Floor Tile Underneath</label>');
$('#TPE_GateOptions').append('<div><label title="Shrinks the tile so there is a transparent margin around the outside">Margin: <input type="number" min="0" max="10" data-saveto="gates.original_margin"></label></div>');
//Gate Presets...
$('#TPE_GateOptions').append('<div id="TPE_Presets_Gates" class="TPE_Presets" style="position:relative; text-align:center; margin-top:5px; width:100%; border:1px solid #555; border-radius:3px; padding:5px 0;" title="Gate Presets"></div>');
//Team Tiles...
$('#TPE_Editor2_Outer').append('<div id="TPE_TeamTileOptions" style="display:flex; flex-flow:column wrap; width:100%; margin-top:10px; padding:6px; border:1px solid #777; border-radius:10px; background:linear-gradient(115deg, #111, #444448);"></div>');
$('#TPE_TeamTileOptions').append('<label><input type="checkbox" data-saveto="team.modify" data-group="TPE_Group_TeamTiles">Custom Team Tiles</label>' +
'<div class="TPE_Group_TeamTiles TPE_SubGroup">' +
' <label title="">R: <input type="color" data-saveto="team.red_color"></label>' +
' <label title="">B: <input type="color" data-saveto="team.blue_color"></label>' +
' <label title="">Y: <input type="color" data-saveto="team.yellow_color"></label>' +
' <label title="Less than 100 is darker. Over 100 is brighter. Unchanged is 100.">Brightness: <input type="number" min="0" max="200" data-saveto="team.brightness"></label>' +
' <label title="Less than 100 is less contrast. Over 100 is more contrast. Unchanged is 100.">Contrast: <input type="number" min="0" max="200" data-saveto="team.contrast"></label>' +
' <label title="">Sepia: <input type="number" min="0" max="100" data-saveto="team.sepia"></label>' +
' <label title="">Margin: <input type="number" min="0" max="20" data-saveto="team.margin"></label>' +
' <label title="Global Opacity">Opacity: <input type="number" min="0" max="100" data-saveto="team.opacity"></label>' +
'<div><label><input type="checkbox" data-saveto="team.gradient2" data-group="TPE_Group_TeamGradient">Gradient</label>' +
'<div class="TPE_Group_TeamGradient TPE_SubGroup">' +
' <label title="">R: <input type="color" data-saveto="team.gradient2_red_color"></label>' +
' <label title="">B: <input type="color" data-saveto="team.gradient2_blue_color"></label>' +
' <label title="">Y: <input type="color" data-saveto="team.gradient2_yellow_color"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity 1: <input type="number" min="0" max="100" data-saveto="team.gradient2_opacity1"></label>' +
' <label title="0=Transparent, 100=Solid Color">Opacity 2: <input type="number" min="0" max="100" data-saveto="team.gradient2_opacity2"></label>' +
' <select title="" data-saveto="team.gradient2_type" style="color:black">' +
' <option value="horizontal">Horizontal</option>' +
' <option value="vertical">Vertical</option>' +
' <option value="diagonal">Diagonal</option>' +
' <option value="centercircle">Center</option>' +
' <option value="randomcircles" title="&quot;Repeats&quot; is blur">Random Circles</option>' +
' <option value="randomsquares" title="&quot;Repeats&quot; is blur">Random Squares</option>' +
' </select>' +
' <label title="Number of times the gradient repeats (or the amount or blur for Random Circles/Squares)">Repeats: <input type="number" min="0" max="100" step="2" data-saveto="team.gradient2_repeats"></label>' +
' <label title="Round the tile corners (0=Square)">Rounded: <input type="number" min="0" max="20" data-saveto="team.gradient2_roundedrect"></label>' +
' <label title="Redraw the gradient on the opposite angle (only for horizontal and diagonal & opacity should be 50)"><input type="checkbox" data-saveto="team.gradient2_redrawopp">Redraw Opp</label>' +
'</div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_TeamTilesPattern" data-saveto="team.pattern">Pattern</label>' +
' <div class="TPE_Group_TeamTilesPattern TPE_SubGroup">' +
' <label title="">R: <input type="color" data-saveto="team.pattern_red_color"></label>' +
' <label title="">B: <input type="color" data-saveto="team.pattern_blue_color"></label>' +
' <label title="">Y: <input type="color" data-saveto="team.pattern_yellow_color"></label>' +
' <label title="">Opacity: <input type="number" min="1" max="100" data-saveto="team.pattern_opacity"></label>' +
' <label title="">Size: <input type="number" min="2" max="40" data-saveto="team.pattern_size" title="Best values are: 2/4/5/8/10/20"></label>' +
' <label title="">Margin: <input type="number" min="1" max="40" data-saveto="team.pattern_margin"></label>' +
' <label title="">Blur: <input type="number" min="0" max="10" data-saveto="team.pattern_blur"></label>' +
' <label title=""><input type="checkbox" data-saveto="team.pattern_altsides">Stroke</label>' +
' <label title=""><input type="checkbox" data-saveto="team.pattern_fill">Fill</label>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_TeamTilesBorder" data-saveto="team.border">Border</label>' +
' <div class="TPE_Group_TeamTilesBorder TPE_SubGroup">' +
' <label title="">R: <input type="color" data-saveto="team.border_red_color"></label>' +
' <label title="">B: <input type="color" data-saveto="team.border_blue_color"></label>' +
' <label title="">Y: <input type="color" data-saveto="team.border_yellow_color"></label>' +
' <label title="">Opacity: <input type="number" min="1" max="100" data-saveto="team.border_opacity"></label>' +
' <label title="">Line Width: <input type="number" min="1" max="20" data-saveto="team.border_linewidth"></label>' +
' <label title="">Margin: <input type="number" min="0" max="20" data-saveto="team.border_size"></label>' +
' </div></div>' +
'</div>');
$('#TPE_TeamTileOptions').append('<label><input type="checkbox" data-saveto="team.drawFloorUnderneath" title="If this is checked a normal floor tile will be drawn under the gate.">Draw Floor Tile Underneath</label>');
$('#TPE_TeamTileOptions').append('<div><label title="Shrinks the tile so there is a transparent margin around the outside">Margin: <input type="number" min="0" max="10" data-saveto="team.original_margin"></label></div>');
//TeamTile Presets...
$('#TPE_TeamTileOptions').append('<div id="TPE_Presets_TeamTiles" class="TPE_Presets" style="position:relative; text-align:center; margin-top:5px; width:100%; border:1px solid #555; border-radius:3px; padding:5px 0;" title="Team Tile Presets"></div>');
//Endzone Tiles...
$('#TPE_Editor2_Outer').append('<div id="TPE_EZTileOptions" style="display:flex; flex-flow:column wrap; width:100%; margin-top:10px; padding:6px; border:1px solid #777; border-radius:10px; background:linear-gradient(115deg, #111, #444448);"></div>');
$('#TPE_EZTileOptions').append('<label><input type="checkbox" data-saveto="endzone.modify" data-group="TPE_Group_EndzoneTiles">Custom Endzone Tiles</label>' +
'<div class="TPE_Group_EndzoneTiles TPE_SubGroup">' +
' <label title="">Red: <input type="color" data-saveto="endzone.red_color"></label>' +
' <label title="">Blue: <input type="color" data-saveto="endzone.blue_color"></label>' +
' <label title="">Margin: <input type="number" min="0" max="20" data-saveto="endzone.margin"></label>' +
' <label title="">Opacity: <input type="number" min="0" max="100" data-saveto="endzone.opacity"></label>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_EndzoneTilesCheckered" data-saveto="endzone.checkered">Checkered</label>' +
' <div class="TPE_Group_EndzoneTilesCheckered TPE_SubGroup">' +
' <label title="">Alt Red: <input type="color" data-saveto="endzone.checkered_alt_red_color"></label>' +
' <label title="">Alt Blue: <input type="color" data-saveto="endzone.checkered_alt_blue_color"></label>' +
' <label title="">Size: <input type="number" min="2" max="40" data-saveto="endzone.checkered_size"></label>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_EndzoneTilesStripes" data-saveto="endzone.stripes">Stripes</label>' +
' <div class="TPE_Group_EndzoneTilesStripes TPE_SubGroup">' +
' <label title="">Red: <input type="color" data-saveto="endzone.stripes_red_color"></label>' +
' <label title="">Blue: <input type="color" data-saveto="endzone.stripes_blue_color"></label>' +
' <label title="">Size: <input type="number" min="2" max="40" data-saveto="endzone.stripes_size"></label>' +
' </div></div>' +
' <div><label title=""><input type="checkbox" data-group="TPE_Group_EndzoneTilesBorder" data-saveto="endzone.border">Border</label>' +
' <div class="TPE_Group_EndzoneTilesBorder TPE_SubGroup">' +
' <label title="">Red: <input type="color" data-saveto="endzone.border_red_color"></label>' +
' <label title="">Blue: <input type="color" data-saveto="endzone.border_blue_color"></label>' +
' <label title="">Opacity: <input type="number" min="1" max="100" data-saveto="endzone.border_opacity"></label>' +
' <label title="">Line Width: <input type="number" min="1" max="20" data-saveto="endzone.border_linewidth"></label>' +
' <label title="">Margin: <input type="number" min="0" max="20" data-saveto="endzone.border_size"></label>' +
' <label title="">Repeat: <input type="number" min="1" max="20" data-saveto="endzone.border_count"></label>' +
' </div></div>' +
'</div>');
$('#TPE_EZTileOptions').append('<label><input type="checkbox" data-saveto="endzone.drawFloorUnderneath" title="If this is checked a normal floor tile will be drawn under the gate.">Draw Floor Tile Underneath</label>');
$('#TPE_EZTileOptions').append('<div><label title="Shrinks the tile so there is a transparent margin around the outside">Margin: <input type="number" min="0" max="10" data-saveto="endzone.original_margin"></label></div>');
//Endzone Presets...
$('#TPE_EZTileOptions').append('<div id="TPE_Presets_Endzones" class="TPE_Presets" style="position:relative; text-align:center; margin-top:5px; width:100%; border:1px solid #555; border-radius:3px; padding:5px 0;" title="Endzone Presets"></div>');
//Saved options...
$('#TPE_Container').append('<div id="TPE_MySavedOptions" style="display:flex; position:relative; margin:15px 5px 0; padding:0 20px; flex-flow:row wrap; align-items:center; justify-content:center; background:#333; border:1px solid #444; border-radius:5px;"></div>');
$('#TPE_MySavedOptions').append('<div id="TPE_MySavedOptionsButtons" style="position:relative"></div>');
$('#TPE_MySavedOptionsButtons').append('<div id="TPE_SaveMyOptions" title="Save the current options as a new set" style="display:flex; justify-content:center; align-items:center; margin:2px 13px; width:38px; height:38px; opacity:0.6; text-align:center; font-size:32px; color:white; background:limegreen; border:1px dashed white; border-radius:10px; cursor:pointer">&#43;</div>');
/*******************/
//Custom Ball Options...
$('#TPE_Editor3_Outer').append('<div id="TPE_Ball_Options" style="display:flex; align-items:flex-start; justify-content:center; width:100%;"></div>');
//Red...
$('#TPE_Ball_Options').append('<div id="TPE_Red_Balls" style="position:relative; display:flex; flex-flow:column wrap; align-items:flex-start; margin:10px 5px; padding:6px; width:275px; border:1px solid #777; border-radius:10px; background:linear-gradient(115deg, #111, #444448);"></div>');
$('#TPE_Red_Balls').append('<label title=""><input type="checkbox" id="TPE_ModifyRed" data-saveto="redball.modify" data-group="TPE_Group_RedBall">Modify "Red" Balls</label>');
$('#TPE_Red_Balls').append('<div id="TPE_Balls_Red" class="TPE_Group_RedBall" style="position:relative; display:flex; flex-flow:column wrap; align-items:flex-start; padding:4px 10px; width:100%; margin-left:6px;"></div>');
$('#TPE_Balls_Red').append('<label title="">Ball Color: <input type="color" data-saveto="redball.color"></label>');
$('#TPE_Balls_Red').append('<label title="Ball Radius (default is 19)">Ball Size: <input type="number" min="0" max="19" data-saveto="redball.size"></label>');
$('#TPE_Balls_Red').append('<label title="0=Transparent, 100=Solid Color">Ball Opacity: <input type="number" min="0" max="100" data-saveto="redball.opacity"></label>');
$('#TPE_Balls_Red').append('<div class="TPE_Divider2"></div>');
$('#TPE_Balls_Red').append('<label title="Fill with a Radial Gradient"><input type="checkbox" data-saveto="redball.gradient" data-group="TPE_RedBall_Gradient_Group">Use Gradient</label>' +
'<div class="TPE_RedBall_Gradient_Group TPE_SubGroup">' +
' <label title="Outer Gradient Color">Outer Color: <input type="color" data-saveto="redball.gradient_color"></label>' +
' <label title="Gradient Start (Inner)">Gradient Start: <input type="number" min="0" max="40" data-saveto="redball.gradient_start"></label>' +
' <label title="Gradient Stop (Outer)">Gradient Stop: <input type="number" min="0" max="40" data-saveto="redball.gradient_stop"></label>' +
' <label title="Position of Gradient (Ball Center is 20)">Gradient Position: <input type="number" min="1" max="20" data-saveto="redball.gradient_position"></label>' +
'</div>');
$('#TPE_Balls_Red').append('<div class="TPE_Divider2"></div>');
$('#TPE_Balls_Red').append('<label title="Width of border (0 to disable)">Border Width: <input type="number" min="0" max="19" data-saveto="redball.border_width" data-group="TPE_RedBall_Border_Group"></label>' +
'<div class="TPE_RedBall_Border_Group TPE_SubGroup">' +
' <label title="Color of ball\'s outer border">Border Color: <input type="color" data-saveto="redball.border_color"></label>' +
' <label title=""># Segments: <input type="number" min="0" max="20" step="2" data-saveto="redball.border_segments" data-group="TPE_RedBall_BorderSegments_Group"></label>' +
' <label class="TPE_RedBall_BorderSegments_Group TPE_SubGroup" title="">Alt Border Color: <input type="color" data-saveto="redball.border_alt_color"></label>' +
'</div>');
$('#TPE_Balls_Red').append('<div class="TPE_Divider2"></div>');
$('#TPE_Balls_Red').append('<div style="display:flex; flex-flow:column wrap; align-items:flex-start; width:100%; padding:2px; border:1px dotted #444; border-radius:3px; font-size:11px;">' +
' <label title=""><input type="checkbox" data-saveto="redball.shapes_arc" data-group="TPE_RedBall_Shapes_Arc_Group" style="margin:1px; width:11px; height:11px;">Arc</label>' +
' <div class="TPE_RedBall_Shapes_Arc_Group TPE_SubGroup">' +
' <div><label title="">Color: <input type="color" data-saveto="redball.shapes_arc_color"></label>' +
' <label title="">Transparent: <input type="checkbox" data-saveto="redball.shapes_arc_transparent" style="width:11px; height:11px;"></label></div>' +
' <label title="">Line Width: <input type="number" min="1" max="19" data-saveto="redball.shapes_arc_width"></label>' +
' <label title="">Position: <input type="number" min="1" max="19" data-saveto="redball.shapes_arc_position"></label>' +
' <label title="">Size: <input type="number" min="1" max="18" data-saveto="redball.shapes_arc_size"></label>' +
' </div>' +
'<div class="TPE_Divider"></div>' +
' <label title=""><input type="checkbox" data-saveto="redball.shapes_star" data-group="TPE_RedBall_Shapes_Star_Group" style="margin:1px; width:11px; height:11px;">Shapes</label>' +
' <div class="TPE_RedBall_Shapes_Star_Group TPE_SubGroup">' +
' <div><label title="">Color: <input type="color" data-saveto="redball.shapes_star_color"></label>' +
' <label title="">Transparent: <input type="checkbox" data-saveto="redball.shapes_star_transparent" style="width:11px; height:11px;"></label></div>' +
' <div><label title="">Fill: <input type="checkbox" data-saveto="redball.shapes_star_fill" data-group="TPE_Group_RedBall_Shapes_Star_Fill" style="width:11px; height:11px;"></label>' +
' <label class="TPE_Group_RedBall_Shapes_Star_Fill" title="">Fill Color: <input type="color" data-saveto="redball.shapes_star_fill_color"></label></div>' +
' <label title="">Line Width: <input type="number" min="0" max="10" data-saveto="redball.shapes_star_width"></label>' +
' <label title="">Spikes: <input type="number" min="2" max="20" data-saveto="redball.shapes_star_spikes"></label>' +
' <div><label title="">Inner: <input type="number" min="0" max="20" data-saveto="redball.shapes_star_inner"></label>' +
' <label title="">Outer: <input type="number" min="1" max="20" data-saveto="redball.shapes_star_outer"></label></div>' +
' <div id="TPE_Presets_Shapes_RedBall" style="text-align:center; margin-top:5px;"></div>' +
' </div>' +
'<div class="TPE_Divider"></div>' +
' <label title=""><input type="checkbox" data-saveto="redball.shapes_overlay" data-group="TPE_RedBall_Shapes_Overlay_Group" style="margin:1px; width:11px; height:11px;">Overlays</label>' +
' <div class="TPE_RedBall_Shapes_Overlay_Group" style="text-align:center;">' +
' <div>' +
' <label title=""><input type="radio" name="TPE_RedBall_Shapes_Overlay_Type" data-saveto="redball.shapes_overlay_type" data-type="marble1">Marble#1</label>' +
' <label title=""><input type="radio" name="TPE_RedBall_Shapes_Overlay_Type" data-saveto="redball.shapes_overlay_type" data-type="marble2">Marble#2</label>' +
' <label title=""><input type="radio" name="TPE_RedBall_Shapes_Overlay_Type" data-saveto="redball.shapes_overlay_type" data-type="earth1">Earth#1</label>' +
' <label title=""><input type="radio" name="TPE_RedBall_Shapes_Overlay_Type" data-saveto="redball.shapes_overlay_type" data-type="earth2">Earth#2</label>' +
' </div>' +
' <label title=""><input type="radio" name="TPE_RedBall_Shapes_Overlay_Type" data-saveto="redball.shapes_overlay_type" data-type="custom">Custom (Base64)</label>' +
' <label title="Copy a Base64 Encoded string here (use https://www.base64-image.de/ to encode your image)"><input type="text" id="TPE_RedBall_Shapes_Overlay_Base64" data-saveto="redball.shapes_overlay_base64" style="margin:1px; width:220px; color:black;"></label>' +
' <label title="">Transparency: <input type="number" min="0" max="100" data-saveto="redball.shapes_overlay_transparency"></label>' +
' </div>' +
'</div');
$('#TPE_Balls_Red').append('<div id="TPE_Presets_RedBall" style="position:relative; text-align:center; margin-top:5px; width:100%; border:1px solid #cc0000; border-radius:3px; padding:5px 0;" title="Red Ball Presets"></div>');
$('#TPE_Balls_Red').append('<div id="TPE_RedBall_CopyValues" style="align-self:flex-end; font-size:9px; margin-top:5px; color:#aaa; border:1px solid #777; border-radius:3px; padding:0 5px; cursor:pointer;" title="Copy all Red values to Blue (except colors)">COPY >></div>');
//Blue...
$('#TPE_Ball_Options').append('<div id="TPE_Blue_Balls" style="position:relative; display:flex; flex-flow:column wrap; align-items:flex-start; margin:10px 5px; padding:6px; width:275px; border:1px solid #777; border-radius:10px; background:linear-gradient(115deg, #111, #444448);"></div>');
$('#TPE_Blue_Balls').append('<label title=""><input type="checkbox" id="TPE_ModifyBlue" data-saveto="blueball.modify" data-group="TPE_Group_BlueBall">Modify "Blue" Balls</label>');
$('#TPE_Blue_Balls').append('<div id="TPE_Balls_Blue" class="TPE_Group_BlueBall" style="position:relative; display:flex; flex-flow:column wrap; align-items:flex-start; padding:4px 10px; width:100%; margin-left:6px;"></div>');
$('#TPE_Balls_Blue').append('<label title="">Ball Color: <input type="color" data-saveto="blueball.color"></label>');
$('#TPE_Balls_Blue').append('<label title="Ball Radius (default is 19)">Ball Size: <input type="number" min="0" max="19" data-saveto="blueball.size"></label>');
$('#TPE_Balls_Blue').append('<label title="0=Transparent, 100=Solid Color">Ball Opacity: <input type="number" min="0" max="100" data-saveto="blueball.opacity"></label>');
$('#TPE_Balls_Blue').append('<div class="TPE_Divider2"></div>');
$('#TPE_Balls_Blue').append('<label title="Fill with a Radial Gradient"><input type="checkbox" data-saveto="blueball.gradient" data-group="TPE_BlueBall_Gradient_Group">Use Gradient</label>' +
'<div class="TPE_BlueBall_Gradient_Group TPE_SubGroup">' +
' <label title="Outer Gradient Color">Outer Color: <input type="color" data-saveto="blueball.gradient_color"></label>' +
' <label title="Gradient Start (Inner)">Gradient Start: <input type="number" min="0" max="40" data-saveto="blueball.gradient_start"></label>' +
' <label title="Gradient Stop (Outer)">Gradient Stop: <input type="number" min="0" max="40" data-saveto="blueball.gradient_stop"></label>' +
' <label title="Position of Gradient (Ball Center is 20)">Gradient Position: <input type="number" min="1" max="20" data-saveto="blueball.gradient_position"></label>' +
'</div>');
$('#TPE_Balls_Blue').append('<div class="TPE_Divider2"></div>');
$('#TPE_Balls_Blue').append('<label title="Width of border (0 to disable)">Border Width: <input type="number" min="0" max="19" data-saveto="blueball.border_width" data-group="TPE_BlueBall_Border_Group"></label>' +
'<div class="TPE_BlueBall_Border_Group TPE_SubGroup">' +
' <label title="Color of ball\'s outer border">Border Color: <input type="color" data-saveto="blueball.border_color"></label>' +
' <label title=""># Segments: <input type="number" min="0" max="20" step="2" data-saveto="blueball.border_segments" data-group="TPE_BlueBall_BorderSegments_Group"></label>' +
' <label class="TPE_BlueBall_BorderSegments_Group TPE_SubGroup" title="">Alt Border Color: <input type="color" data-saveto="blueball.border_alt_color"></label>' +
'</div>');
$('#TPE_Balls_Blue').append('<div class="TPE_Divider2"></div>');
$('#TPE_Balls_Blue').append('<div style="display:flex; flex-flow:column wrap; align-items:flex-start; width:100%; padding:2px; border:1px dotted #444; border-radius:3px; font-size:11px;">' +
' <label title=""><input type="checkbox" data-saveto="blueball.shapes_arc" data-group="TPE_BlueBall_Shapes_Arc_Group" style="margin:1px; width:11px; height:11px;">Arc</label>' +
' <div class="TPE_BlueBall_Shapes_Arc_Group TPE_SubGroup">' +
' <div><label title="">Color: <input type="color" data-saveto="blueball.shapes_arc_color"></label>' +
' <label title="">Transparent: <input type="checkbox" data-saveto="blueball.shapes_arc_transparent" style="width:11px; height:11px;"></label></div>' +
' <label title="">Line Width: <input type="number" min="1" max="19" data-saveto="blueball.shapes_arc_width"></label>' +
' <label title="">Position: <input type="number" min="1" max="19" data-saveto="blueball.shapes_arc_position"></label>' +
' <label title="">Size: <input type="number" min="1" max="18" data-saveto="blueball.shapes_arc_size"></label>' +
' </div>' +
'<div class="TPE_Divider"></div>' +
' <label title=""><input type="checkbox" data-saveto="blueball.shapes_star" data-group="TPE_BlueBall_Shapes_Star_Group" style="margin:1px; width:11px; height:11px;">Shapes</label>' +
' <div class="TPE_BlueBall_Shapes_Star_Group TPE_SubGroup">' +
' <div><label title="">Color: <input type="color" data-saveto="blueball.shapes_star_color"></label>' +
' <label title="">Transparent: <input type="checkbox" data-saveto="blueball.shapes_star_transparent" style="width:11px; height:11px;"></label></div>' +
' <div><label title="">Fill: <input type="checkbox" data-saveto="blueball.shapes_star_fill" data-group="TPE_Group_BlueBall_Shapes_Star_Fill" style="width:11px; height:11px;"></label>' +
' <label class="TPE_Group_BlueBall_Shapes_Star_Fill" title="">Fill Color: <input type="color" data-saveto="blueball.shapes_star_fill_color"></label></div>' +
' <label title="">Line Width: <input type="number" min="0" max="10" data-saveto="blueball.shapes_star_width"></label>' +
' <label title="">Spikes: <input type="number" min="2" max="20" data-saveto="blueball.shapes_star_spikes"></label>' +
' <label title="">Inner: <input type="number" min="0" max="20" data-saveto="blueball.shapes_star_inner"></label>' +
' <label title="">Outer: <input type="number" min="1" max="20" data-saveto="blueball.shapes_star_outer"></label>' +
' <div id="TPE_Presets_Shapes_BlueBall" style="text-align:center; margin-top:5px;"></div>' +
' </div>' +
'<div class="TPE_Divider"></div>' +
' <label title=""><input type="checkbox" data-saveto="blueball.shapes_overlay" data-group="TPE_BlueBall_Shapes_Overlay_Group" style="margin:1px; width:11px; height:11px;">Overlays</label>' +
' <div class="TPE_BlueBall_Shapes_Overlay_Group" style="text-align:center;">' +
' <div>' +
' <label title=""><input type="radio" name="TPE_BlueBall_Shapes_Overlay_Type" data-saveto="blueball.shapes_overlay_type" data-type="marble1">Marble#1</label>' +
' <label title=""><input type="radio" name="TPE_BlueBall_Shapes_Overlay_Type" data-saveto="blueball.shapes_overlay_type" data-type="marble2">Marble#2</label>' +
' <label title=""><input type="radio" name="TPE_BlueBall_Shapes_Overlay_Type" data-saveto="blueball.shapes_overlay_type" data-type="earth1">Earth#1</label>' +
' <label title=""><input type="radio" name="TPE_BlueBall_Shapes_Overlay_Type" data-saveto="blueball.shapes_overlay_type" data-type="earth2">Earth#2</label>' +
' </div>' +
' <label title=""><input type="radio" name="TPE_BlueBall_Shapes_Overlay_Type" data-saveto="blueball.shapes_overlay_type" data-type="custom">Custom (Base64)</label>' +
' <label title="Copy a Base64 Encoded string here (use https://www.base64-image.de/ to encode your image)"><input type="text" id="TPE_BlueBall_Shapes_Overlay_Base64" data-saveto="blueball.shapes_overlay_base64" style="margin:1px; width:220px; color:black;"></label>' +
' <label title="">Transparency: <input type="number" min="0" max="100" data-saveto="blueball.shapes_overlay_transparency"></label>' +
' </div>' +
'</div');
$('#TPE_Balls_Blue').append('<div id="TPE_Presets_BlueBall" style="position:relative; text-align:center; margin-top:5px; width:100%; border:1px solid dodgerblue; border-radius:3px; padding:5px 0;" title="Blue Ball Presets"></div>');
$('#TPE_Balls_Blue').append('<div id="TPE_BlueBall_CopyValues" style="align-self:flex-start; font-size:9px; margin-top:5px; color:#aaa; border:1px solid #777; border-radius:3px; padding:0 5px; cursor:pointer;" title="Copy all Blue values to Red (except colors)"><< COPY</div>');
$('#TPE_Red_Balls').append('<div class="TPE_Group_RedBall" style="position:absolute; top:5px; right:5px;" title="Click to change background color"><canvas id="TPE_Red_Ball_Preview" width="40" height="40"></canvas></div>');
$('#TPE_Blue_Balls').append('<div class="TPE_Group_BlueBall" style="position:absolute; top:5px; right:5px;" title="Click to change background color"><canvas id="TPE_Blue_Ball_Preview" width="40" height="40"></canvas></div>');
loadPresets();
loadCustomValues();
loadOptionsValues(true);
setTimeout(updateAllPreviews, 500);
GM_addStyle('#TPE_Container label, #TPE_Container_Balls label { margin:1px 2px 0; font-weight:normal; }');
GM_addStyle('#TPE_Container input[type="checkbox"], #TPE_Container_Balls input[type="checkbox"] { margin:4px 3px 3px 0; }');
GM_addStyle('#TPE_Container input[type="radio"], #TPE_Container_Balls input[type="radio"] { margin:2px 1px 2px 5px; width:11px; height:11px; }');
GM_addStyle('#TPE_Container input[type="number"], #TPE_Container_Balls input[type="number"] { color:black; width:44px; height:15px; margin:1px 2px 0 1px; font-size:11px; }');
GM_addStyle('#TPE_Container input[type="color"], #TPE_Container_Balls input[type="color"] { margin:0px 2px 1px 1px; padding:0px 3px; height:16px; }');
GM_addStyle('.TPE_CopyGates { float:right; border:1px outset #aaa; border-radius:4px; padding:0 5px; margin:10px; cursor:pointer; }');
GM_addStyle('.TPE_CopyGates:hover { border:1px inset #aaa; }');
GM_addStyle('.TPE_MySavedPack { position:relative; margin:5px; padding:5px; color:black; background:#ccc; font-size:15px; font-weight:bold; border-radius:5px; cursor:pointer; }'); //border:1px solid #777; margin:5px; padding:0 12px 0 3px;
GM_addStyle('.TPE_DeleteSavedPack { display:none; position:absolute; width:15px; height:15px; top:0px; right:0px; color:white; background:red; opacity:0.7; font-size:11px; text-align:center; border-radius:50%; cursor:pointer; }');
GM_addStyle('.TPE_MySavedPackLabel { position:absolute; bottom:6px; left:50px; background:#22bb22; padding:0 3px; border-radius:3px; font:11px Arial; color:white; }');
GM_addStyle('.TPE_MySavedOptions { position:relative; color:black; background:#ccc; font-size:14px; font-weight:bold; border-radius:5px; cursor:pointer; border:1px solid #777; margin:5px; padding:1px 20px; }');
GM_addStyle('.TPE_DeleteSavedOptions { display:none; position:absolute; width:12px; height:13px; top:0px; right:0px; color:white; background:red; opacity:0.5; font-size:9px; text-align:center; border-radius:30%; cursor:pointer; }');
GM_addStyle('.TPE_Preset, .TPE_Shape_Preset, .TPE_FloorTile_Preset { display:inline-block; border:1px solid #777; border-radius:3px; margin:1px 2px; padding:1px 2px; min-width:12px; cursor:pointer; }');
GM_addStyle('.TPE_Preset:hover, .TPE_Shape_Preset:hover, .TPE_FloorTile_Preset:hover { background:#444; border:1px solid #FFF; }');
GM_addStyle('.TPE_SubGroup { margin-left:13px; }');
GM_addStyle('.TPE_Divider { border-top:1px dashed #555; width:100%; margin-top:5px; }');
GM_addStyle('.TPE_Divider2 { width:100%; margin-top:12px; margin-bottom:3px; }');
GM_addStyle('.texture-packs .texture-choice .name { font-size:15px; }');
GM_addStyle('.texture-packs .texture-choice .author { font-size:13px; }');
/*-------------------------------------------------------------------------------*/
// Bind events...
/*-------------------------------------------------------------------------------*/
$('body').append('<input type="color" id="TPE_Ball_BGPicker" style="position:absolute; margin:-9999px;">');
$('#TPE_Red_Ball_Preview, #TPE_Blue_Ball_Preview').on('click', function() {
$('#TPE_Ball_BGPicker').trigger('click');
});
$('#TPE_Ball_BGPicker').on('change', function() {
$('#TPE_Red_Ball_Preview, #TPE_Blue_Ball_Preview').css('background', $('#TPE_Ball_BGPicker').val());
});
$('.TPE_CopyGates').on('click', function() {
let source = this.dataset.source;
let destinations = ['neutral', 'green', 'red', 'blue'];
let temp = $.extend(true, {}, options.gates);
destinations.splice(destinations.indexOf(source), 1);
Object.keys(temp).forEach(key => {
if (key.startsWith(source)) {
let value = options.gates[key];
if (value === true || value === false || !value.startsWith('#')) {
destinations.forEach(destination => {
let destinationKey = key.replace(source, destination);
temp[destinationKey] = value;
let element = $('#TPE_GateOptions').find('input[data-saveto="gates.'+destinationKey+'"]');
if ($(element).is('input:checkbox')) {
$(element).prop('checked', value);
let group = $(element).data('group');
if (group) hideshowGroups($(element).get(0));
} else {
$(element).val(value);
}
});
}
}
});
$.extend(options.gates, temp);
GM_setValue('options', options);
});
var makePreviewCanvas = function() {
var tilesImg = new Image();
var speedpadImg = new Image();
var portalImg = new Image();
var redBallImg, blueBallImg;
if (options.redball.modify) redBallImg = $('#TPE_Red_Ball_Preview')[0];
if (options.blueball.modify) blueBallImg = $('#TPE_Blue_Ball_Preview')[0];
$('#TP_PreviewerAll').remove();
$('#TPE_FloorTiles_Preview_Container').append('<div id="TP_PreviewerAll" style="position:absolute; display:inline-block; top:60px; left:-100px; padding:20px 20px 18px 20px; text-align:center; background:#111; box-shadow:0px 0px 9px white; border:1px solid #666; border-radius:5px; z-index:9999;">Generating Preview...</div>');
tilesImg.onload = function() {
let bg = createAllModsPreview(tilesImg).toDataURL('image/png');
let bgColor = '#111';
var backgroundType = options.gamewallpaper.type; //$('#TPE_WP').val();
if (backgroundType === 'color') {
bgColor = options.gamewallpaper.color;
let backgroundCSS = getBackgroundCSSValue(backgroundType, options.gamewallpaper.color);
$('#TP_PreviewerAll').css(backgroundCSS);
} else if (backgroundType === 'gradient') {
let gradientType = options.gamewallpaper.gradient_type;
let c1 = options.gamewallpaper.color1;
let c2 = options.gamewallpaper.color2;
let size = gradientType === 'team' ? '135' : '0';
bgColor = 'rgba(0,0,0,0)';
let backgroundCSS = getBackgroundCSSValue(backgroundType, c1, c2, gradientType, size);
$('#TP_PreviewerAll').css(backgroundCSS);
} else if (options.gamewallpaper.type === 'image' && options.gamewallpaper.imagedata) {
bgColor = 'rgba(0,0,0,0)';
$('#TP_PreviewerAll').css('background', 'url('+options.gamewallpaper.imagedata+')');
} else if (backgroundType === 'none') {
bgColor = 'rgba(0,0,0,0)';
$('#TP_PreviewerAll').css('background', '#000 url("/images/background.jpg") center center / cover no-repeat');
} else {
bgColor = '#111';
}
$('#TP_PreviewerAll').html('<span style="text-shadow:1px 1px 1px black">(Preview might not be 100% accurate)</span>').prepend('<canvas id="TTM_BG_Preview" width="640" height="440" style="background:'+bgColor+' url('+bg+');"></canvas>');
animatePreview(tilesImg, speedpadImg, portalImg, redBallImg, blueBallImg);
};
tilesImg.crossOrigin = "Anonymous";
tilesImg.src = $('#tiles').val();
speedpadImg.crossOrigin = 'Anonymous';
speedpadImg.src = $('#speedpad').val();
portalImg.crossOrigin = 'Anonymous';
portalImg.src = $('#portal').val();
};
$('#TPE_FloorTiles_Preview_Container').hoverIntent(function() {
makePreviewCanvas();
}, function() {
$('#TP_PreviewerAll').remove();
});
var preview_map = {"info":{"width":16,"height":11},"data":{"0_5":{"id":9.1,"x":0,"y":5,"tx":520,"ty":120},"0_6":{"id":9.1,"x":0,"y":6,"tx":520,"ty":120},"1_1":{"id":2,"x":1,"y":1,"tx":520,"ty":160},"1_2":{"id":2,"x":1,"y":2,"tx":520,"ty":160},"1_3":{"id":2,"x":1,"y":3,"tx":520,"ty":160},"1_4":{"id":2,"x":1,"y":4,"tx":520,"ty":160},"1_5":{"id":2,"x":1,"y":5,"tx":520,"ty":160},"1_6":{"id":2,"x":1,"y":6,"tx":520,"ty":160},"1_7":{"id":2,"x":1,"y":7,"tx":520,"ty":160},"1_8":{"id":2,"x":1,"y":8,"tx":520,"ty":160},"1_9":{"id":2,"x":1,"y":9,"tx":520,"ty":160},"1_10":{"id":2,"x":1,"y":10,"tx":520,"ty":160},"2_1":{"id":2,"x":2,"y":1,"tx":520,"ty":160},"2.2":{"id":2,"x":2,"y":2,"tx":520,"ty":160},"2_3":{"id":2,"x":2,"y":3,"tx":520,"ty":160},"2_4":{"id":23,"x":2,"y":4,"tx":520,"ty":200},"2_5":{"id":23,"x":2,"y":5,"tx":520,"ty":200},"2_6":{"id":23,"x":2,"y":6,"tx":520,"ty":200},"2_7":{"id":23,"x":2,"y":7,"tx":520,"ty":200},"2_8":{"id":2,"x":2,"y":8,"tx":520,"ty":160},"2.9":{"id":2,"x":2,"y":9,"tx":520,"ty":160},"2_10":{"id":2,"x":2,"y":10,"tx":520,"ty":160},"3_0":{"id":9.2,"x":3,"y":0,"tx":560,"ty":120},"3_1":{"id":2,"x":3,"y":1,"tx":520,"ty":160},"3_2":{"id":2,"x":3,"y":2,"tx":520,"ty":160},"3_3":{"id":2,"x":3,"y":3,"tx":520,"ty":160},"3_4":{"id":2,"x":3,"y":4,"tx":520,"ty":160},"3_5":{"id":2,"x":3,"y":5,"tx":520,"ty":160},"3_6":{"id":2,"x":3,"y":6,"tx":520,"ty":160},"3_7":{"id":2,"x":3,"y":7,"tx":520,"ty":160},"3_8":{"id":2,"x":3,"y":8,"tx":520,"ty":160},"3_9":{"id":2,"x":3,"y":9,"tx":520,"ty":160},"3_10":{"id":2,"x":3,"y":10,"tx":520,"ty":160},"4_0":{"id":9.2,"x":4,"y":0,"tx":560,"ty":120},"4_1":{"id":2,"x":4,"y":1,"tx":520,"ty":160},"4_2":{"id":2,"x":4,"y":2,"tx":520,"ty":160},"4_3":{"id":2,"x":4,"y":3,"tx":520,"ty":160},"4_4":{"id":2,"x":4,"y":4,"tx":520,"ty":160},"4_5":{"id":2,"x":4,"y":5,"tx":520,"ty":160},"4_6":{"id":2,"x":4,"y":6,"tx":520,"ty":160},"4_7":{"id":2,"x":4,"y":7,"tx":520,"ty":160},"4_8":{"id":2,"x":4,"y":8,"tx":520,"ty":160},"4_9":{"id":2,"x":4,"y":9,"tx":520,"ty":160},"4_10":{"id":2,"x":4,"y":10,"tx":520,"ty":160},"5_1":{"id":2,"x":5,"y":1,"tx":520,"ty":160},"5_2":{"id":2,"x":5,"y":2,"tx":520,"ty":160},"5_3":{"id":2,"x":5,"y":3,"tx":520,"ty":160},"5_4":{"id":2,"x":5,"y":4,"tx":520,"ty":160},"5_5":{"id":2,"x":5,"y":5,"tx":520,"ty":160},"5_6":{"id":2,"x":5,"y":6,"tx":520,"ty":160},"5_7":{"id":2,"x":5,"y":7,"tx":520,"ty":160},"5_8":{"id":2,"x":5,"y":8,"tx":520,"ty":160},"5_9":{"id":2,"x":5,"y":9,"tx":520,"ty":160},"5_10":{"id":2,"x":5,"y":10,"tx":520,"ty":160},"6_1":{"id":2,"x":6,"y":1,"tx":520,"ty":160},"6_2":{"id":2,"x":6,"y":2,"tx":520,"ty":160},"6_3":{"id":2,"x":6,"y":3,"tx":520,"ty":160},"6_4":{"id":2,"x":6,"y":4,"tx":520,"ty":160},"6.5":{"id":2,"x":6,"y":5,"tx":520,"ty":160},"6_5":{"id":7,"x":6,"y":5,"tx":480,"ty":0},"6.6":{"id":2,"x":6,"y":6,"tx":520,"ty":160},"6_6":{"id":7,"x":6,"y":6,"tx":480,"ty":0},"6_7":{"id":2,"x":6,"y":7,"tx":520,"ty":160},"6_8":{"id":2,"x":6,"y":8,"tx":520,"ty":160},"6_9":{"id":2,"x":6,"y":9,"tx":520,"ty":160},"6_10":{"id":2,"x":6,"y":10,"tx":520,"ty":160},"7_0":{"id":2,"x":7,"y":0,"tx":520,"ty":160},"7_1":{"id":2,"x":7,"y":1,"tx":520,"ty":160},"7_2":{"id":2,"x":7,"y":2,"tx":520,"ty":160},"7.3":{"id":2,"x":7,"y":3,"tx":520,"ty":160},"7_3":{"id":8,"x":7,"y":3,"tx":520,"ty":240},"7_4":{"id":2,"x":7,"y":4,"tx":520,"ty":160},"7_6":{"id":11,"x":7,"y":6,"tx":560,"ty":160},"7_7":{"id":11,"x":7,"y":7,"tx":560,"ty":160},"7_8":{"id":2,"x":7,"y":8,"tx":520,"ty":160},"7_9":{"id":2,"x":7,"y":9,"tx":520,"ty":160},"7_10":{"id":2,"x":7,"y":10,"tx":520,"ty":160},"8_0":{"id":2,"x":8,"y":0,"tx":520,"ty":160},"8_1":{"id":2,"x":8,"y":1,"tx":520,"ty":160},"8_2":{"id":9,"x":8,"y":2,"tx":480,"ty":120},"8_3":{"id":9,"x":8,"y":3,"tx":480,"ty":120},"8_4":{"id":9,"x":8,"y":4,"tx":480,"ty":120},"8_6":{"id":11,"x":8,"y":6,"tx":560,"ty":160},"8_7":{"id":11,"x":8,"y":7,"tx":560,"ty":160},"8_8":{"id":11,"x":8,"y":8,"tx":560,"ty":160},"8_9":{"id":2,"x":8,"y":9,"tx":520,"ty":160},"8_10":{"id":2,"x":8,"y":10,"tx":520,"ty":160},"9_0":{"id":2,"x":9,"y":0,"tx":520,"ty":160},"9_1":{"id":2,"x":9,"y":1,"tx":520,"ty":160},"9_2":{"id":12,"x":9,"y":2,"tx":600,"ty":160},"9_3":{"id":9,"x":9,"y":3,"tx":480,"ty":120},"9_4":{"id":9,"x":9,"y":4,"tx":480,"ty":120},"9_6":{"id":18,"x":9,"y":6,"tx":600,"ty":200},"9_7":{"id":11,"x":9,"y":7,"tx":560,"ty":160},"9_8":{"id":11,"x":9,"y":8,"tx":560,"ty":160},"9_9":{"id":11,"x":9,"y":9,"tx":560,"ty":160},"9_10":{"id":2,"x":9,"y":10,"tx":520,"ty":160},"10_0":{"id":2,"x":10,"y":0,"tx":520,"ty":160},"10_1":{"id":2,"x":10,"y":1,"tx":520,"ty":160},"10_2":{"id":12,"x":10,"y":2,"tx":600,"ty":160},"10_3":{"id":12,"x":10,"y":3,"tx":600,"ty":160},"10_4":{"id":9,"x":10,"y":4,"tx":480,"ty":120},"10_6":{"id":18,"x":10,"y":6,"tx":600,"ty":200},"10_7":{"id":18,"x":10,"y":7,"tx":600,"ty":200},"10_8":{"id":11,"x":10,"y":8,"tx":560,"ty":160},"10_9":{"id":11,"x":10,"y":9,"tx":560,"ty":160},"10_10":{"id":11,"x":10,"y":10,"tx":560,"ty":160},"11_0":{"id":2,"x":11,"y":0,"tx":520,"ty":160},"11_1":{"id":2,"x":11,"y":1,"tx":520,"ty":160},"11_2":{"id":2,"x":11,"y":2,"tx":520,"ty":160},"11_3":{"id":12,"x":11,"y":3,"tx":600,"ty":160},"11_4":{"id":12,"x":11,"y":4,"tx":600,"ty":160},"11_7":{"id":18,"x":11,"y":7,"tx":600,"ty":200},"11_8":{"id":18,"x":11,"y":8,"tx":600,"ty":200},"11_9":{"id":11,"x":11,"y":9,"tx":560,"ty":160},"11_10":{"id":11,"x":11,"y":10,"tx":560,"ty":160},"12_0":{"id":2,"x":12,"y":0,"tx":520,"ty":160},"12_1":{"id":2,"x":12,"y":1,"tx":520,"ty":160},"12_2":{"id":2,"x":12,"y":2,"tx":520,"ty":160},"12_3":{"id":2,"x":12,"y":3,"tx":520,"ty":160},"12_4":{"id":2,"x":12,"y":4,"tx":520,"ty":160},"12.5":{"id":2,"x":12,"y":5,"tx":520,"ty":160},"12_5":{"id":10,"x":12,"y":5,"tx":480,"ty":40},"12_7":{"id":18,"x":12,"y":7,"tx":600,"ty":200},"12_8":{"id":18,"x":12,"y":8,"tx":600,"ty":200},"12_9":{"id":18,"x":12,"y":9,"tx":600,"ty":200},"12_10":{"id":18,"x":12,"y":10,"tx":600,"ty":200},"13_0":{"id":2,"x":13,"y":0,"tx":520,"ty":160},"13_1":{"id":2,"x":13,"y":1,"tx":520,"ty":160},"13_2":{"id":2,"x":13,"y":2,"tx":520,"ty":160},"13_3":{"id":2,"x":13,"y":3,"tx":520,"ty":160},"13_4":{"id":2,"x":13,"y":4,"tx":520,"ty":160},"13_5":{"id":2,"x":13,"y":5,"tx":520,"ty":160},"13.6":{"id":2,"x":13,"y":6,"tx":520,"ty":160},"13_6":{"id":10,"x":13,"y":6,"tx":480,"ty":40},"13_8":{"id":18,"x":13,"y":8,"tx":600,"ty":200},"13_9":{"id":18,"x":13,"y":9,"tx":600,"ty":200},"13_10":{"id":18,"x":13,"y":10,"tx":600,"ty":200},"14.0":{"id":2,"x":14,"y":0,"tx":520,"ty":160},"14_0":{"id":7,"x":14,"y":0,"tx":480,"ty":0},"14.1":{"id":2,"x":14,"y":1,"tx":520,"ty":160},"14_2":{"id":2,"x":14,"y":2,"tx":520,"ty":160},"14_3":{"id":2,"x":14,"y":3,"tx":520,"ty":160},"14_4":{"id":2,"x":14,"y":4,"tx":520,"ty":160},"14_5":{"id":2,"x":14,"y":5,"tx":520,"ty":160},"14_6":{"id":2,"x":14,"y":6,"tx":520,"ty":160},"14_8":{"id":9.3,"x":14,"y":8,"tx":600,"ty":120},"14_9":{"id":9.3,"x":14,"y":9,"tx":600,"ty":120},"14_10":{"id":9.3,"x":14,"y":10,"tx":600,"ty":120},"15.0":{"id":2,"x":15,"y":0,"tx":520,"ty":160},"15.1":{"id":2,"x":15,"y":1,"tx":520,"ty":160},"15_1":{"id":7,"x":15,"y":1,"tx":480,"ty":0},"15_2":{"id":2,"x":15,"y":2,"tx":520,"ty":160},"15_3":{"id":17,"x":15,"y":3,"tx":560,"ty":200},"15_4":{"id":17,"x":15,"y":4,"tx":560,"ty":200},"15_5":{"id":17,"x":15,"y":5,"tx":560,"ty":200},"15_6":{"id":2,"x":15,"y":6,"tx":520,"ty":160},"15_8":{"id":2,"x":15,"y":8,"tx":520,"ty":160},"15_9":{"id":2,"x":15,"y":9,"tx":520,"ty":160},"15_10":{"id":2,"x":15,"y":10,"tx":520,"ty":160}}};
var preview_pups = {"jukejuice":{"id":6.1,"x":14,"y":1,"tx":480,"ty":160}, "rollingbomb":{"id":6.2,"x":2,"y":2,"tx":480,"ty":200}, "tagpro":{"id":6.3,"x":15,"y":0,"tx":480,"ty":240}, "placeholder":{"id":6,"x":2,"y":9,"tx":480,"ty":320} };
var preview_walls = {"0":{"q":0,"x":0,"y":0,"tx":0,"ty":280},"1":{"q":1,"x":0,"y":0,"tx":220,"ty":200},"2":{"q":2,"x":0,"y":0,"tx":220,"ty":220},"3":{"q":3,"x":0,"y":0,"tx":0,"ty":220},"4":{"q":0,"x":0,"y":1,"tx":0,"ty":200},"5":{"q":1,"x":0,"y":1,"tx":220,"ty":240},"6":{"q":2,"x":0,"y":1,"tx":300,"ty":340},"7":{"q":3,"x":0,"y":1,"tx":0,"ty":220},"8":{"q":0,"x":0,"y":2,"tx":0,"ty":200},"9":{"q":1,"x":0,"y":2,"tx":300,"ty":360},"10":{"q":2,"x":0,"y":2,"tx":460,"ty":220},"11":{"q":3,"x":0,"y":2,"tx":0,"ty":220},"12":{"q":0,"x":0,"y":3,"tx":0,"ty":200},"13":{"q":1,"x":0,"y":3,"tx":460,"ty":200},"14":{"q":2,"x":0,"y":3,"tx":460,"ty":220},"15":{"q":3,"x":0,"y":3,"tx":0,"ty":220},"16":{"q":0,"x":0,"y":4,"tx":0,"ty":200},"17":{"q":1,"x":0,"y":4,"tx":460,"ty":200},"18":{"q":2,"x":0,"y":4,"tx":460,"ty":300},"19":{"q":3,"x":0,"y":4,"tx":0,"ty":300},"20":{"q":0,"x":0,"y":7,"tx":0,"ty":280},"21":{"q":1,"x":0,"y":7,"tx":460,"ty":280},"22":{"q":2,"x":0,"y":7,"tx":460,"ty":220},"23":{"q":3,"x":0,"y":7,"tx":0,"ty":220},"24":{"q":0,"x":0,"y":8,"tx":0,"ty":200},"25":{"q":1,"x":0,"y":8,"tx":460,"ty":200},"26":{"q":2,"x":0,"y":8,"tx":460,"ty":220},"27":{"q":3,"x":0,"y":8,"tx":0,"ty":220},"28":{"q":0,"x":0,"y":9,"tx":0,"ty":200},"29":{"q":1,"x":0,"y":9,"tx":460,"ty":200},"30":{"q":2,"x":0,"y":9,"tx":60,"ty":340},"31":{"q":3,"x":0,"y":9,"tx":0,"ty":220},"32":{"q":0,"x":0,"y":10,"tx":0,"ty":200},"33":{"q":1,"x":0,"y":10,"tx":60,"ty":360},"34":{"q":2,"x":0,"y":10,"tx":220,"ty":220},"35":{"q":3,"x":0,"y":10,"tx":0,"ty":220},"36":{"q":0,"x":0,"y":11,"tx":0,"ty":200},"37":{"q":1,"x":0,"y":11,"tx":220,"ty":240},"38":{"q":2,"x":0,"y":11,"tx":340,"ty":420},"39":{"q":3,"x":0,"y":11,"tx":0,"ty":300},"40":{"q":0,"x":1,"y":0,"tx":240,"ty":200},"41":{"q":1,"x":1,"y":0,"tx":220,"ty":200},"42":{"q":2,"x":1,"y":0,"tx":340,"ty":300},"43":{"q":3,"x":1,"y":0,"tx":240,"ty":220},"44":{"q":0,"x":1,"y":1,"tx":240,"ty":400},"45":{"q":1,"x":1,"y":1,"tx":340,"ty":320},"46":{"q":3,"x":1,"y":1,"tx":320,"ty":340},"47":{"q":0,"x":1,"y":10,"tx":80,"ty":360},"48":{"q":2,"x":1,"y":10,"tx":100,"ty":380},"49":{"q":3,"x":1,"y":10,"tx":240,"ty":340},"50":{"q":0,"x":1,"y":11,"tx":240,"ty":240},"51":{"q":1,"x":1,"y":11,"tx":100,"ty":400},"52":{"q":2,"x":1,"y":11,"tx":340,"ty":420},"53":{"q":3,"x":1,"y":11,"tx":360,"ty":420},"54":{"q":0,"x":2,"y":0,"tx":240,"ty":200},"55":{"q":1,"x":2,"y":0,"tx":460,"ty":280},"56":{"q":2,"x":2,"y":0,"tx":460,"ty":300},"57":{"q":3,"x":2,"y":0,"tx":360,"ty":300},"58":{"q":0,"x":2,"y":11,"tx":120,"ty":400},"59":{"q":1,"x":2,"y":11,"tx":220,"ty":200},"60":{"q":2,"x":2,"y":11,"tx":340,"ty":420},"61":{"q":3,"x":2,"y":11,"tx":360,"ty":420},"62":{"q":0,"x":3,"y":11,"tx":240,"ty":200},"63":{"q":1,"x":3,"y":11,"tx":220,"ty":200},"64":{"q":2,"x":3,"y":11,"tx":340,"ty":420},"65":{"q":3,"x":3,"y":11,"tx":360,"ty":420},"66":{"q":0,"x":4,"y":11,"tx":240,"ty":200},"67":{"q":1,"x":4,"y":11,"tx":220,"ty":200},"68":{"q":2,"x":4,"y":11,"tx":340,"ty":420},"69":{"q":3,"x":4,"y":11,"tx":360,"ty":420},"70":{"q":0,"x":5,"y":0,"tx":0,"ty":280},"71":{"q":1,"x":5,"y":0,"tx":220,"ty":200},"72":{"q":2,"x":5,"y":0,"tx":340,"ty":420},"73":{"q":3,"x":5,"y":0,"tx":0,"ty":300},"74":{"q":0,"x":5,"y":11,"tx":240,"ty":200},"75":{"q":1,"x":5,"y":11,"tx":220,"ty":200},"76":{"q":2,"x":5,"y":11,"tx":340,"ty":420},"77":{"q":3,"x":5,"y":11,"tx":360,"ty":420},"78":{"q":0,"x":6,"y":0,"tx":240,"ty":200},"79":{"q":1,"x":6,"y":0,"tx":220,"ty":200},"80":{"q":2,"x":6,"y":0,"tx":380,"ty":420},"81":{"q":3,"x":6,"y":0,"tx":360,"ty":420},"82":{"q":0,"x":6,"y":11,"tx":240,"ty":200},"83":{"q":1,"x":6,"y":11,"tx":220,"ty":200},"84":{"q":2,"x":6,"y":11,"tx":340,"ty":420},"85":{"q":3,"x":6,"y":11,"tx":360,"ty":420},"86":{"q":0,"x":7,"y":0,"tx":280,"ty":200},"87":{"q":1,"x":7,"y":0,"tx":300,"ty":200},"88":{"q":3,"x":7,"y":0,"tx":400,"ty":420},"89":{"q":0,"x":7,"y":5,"tx":0,"ty":280},"90":{"q":1,"x":7,"y":5,"tx":220,"ty":200},"91":{"q":2,"x":7,"y":5,"tx":340,"ty":300},"92":{"q":3,"x":7,"y":5,"tx":0,"ty":220},"93":{"q":0,"x":7,"y":6,"tx":0,"ty":240},"94":{"q":1,"x":7,"y":6,"tx":340,"ty":320},"95":{"q":3,"x":7,"y":6,"tx":200,"ty":300},"96":{"q":0,"x":7,"y":11,"tx":240,"ty":200},"97":{"q":1,"x":7,"y":11,"tx":220,"ty":200},"98":{"q":2,"x":7,"y":11,"tx":340,"ty":420},"99":{"q":3,"x":7,"y":11,"tx":360,"ty":420},"100":{"q":0,"x":8,"y":5,"tx":240,"ty":200},"101":{"q":1,"x":8,"y":5,"tx":220,"ty":200},"102":{"q":2,"x":8,"y":5,"tx":340,"ty":420},"103":{"q":3,"x":8,"y":5,"tx":360,"ty":300},"104":{"q":0,"x":8,"y":11,"tx":240,"ty":200},"105":{"q":1,"x":8,"y":11,"tx":220,"ty":200},"106":{"q":2,"x":8,"y":11,"tx":340,"ty":420},"107":{"q":3,"x":8,"y":11,"tx":360,"ty":420},"108":{"q":0,"x":9,"y":5,"tx":240,"ty":200},"109":{"q":1,"x":9,"y":5,"tx":220,"ty":200},"110":{"q":2,"x":9,"y":5,"tx":340,"ty":420},"111":{"q":3,"x":9,"y":5,"tx":360,"ty":420},"112":{"q":0,"x":9,"y":11,"tx":240,"ty":200},"113":{"q":1,"x":9,"y":11,"tx":220,"ty":200},"114":{"q":2,"x":9,"y":11,"tx":340,"ty":420},"115":{"q":3,"x":9,"y":11,"tx":360,"ty":420},"116":{"q":0,"x":10,"y":5,"tx":240,"ty":200},"117":{"q":1,"x":10,"y":5,"tx":220,"ty":200},"118":{"q":2,"x":10,"y":5,"tx":380,"ty":300},"119":{"q":3,"x":10,"y":5,"tx":360,"ty":420},"120":{"q":0,"x":10,"y":11,"tx":240,"ty":200},"121":{"q":1,"x":10,"y":11,"tx":220,"ty":200},"122":{"q":2,"x":10,"y":11,"tx":340,"ty":420},"123":{"q":3,"x":10,"y":11,"tx":360,"ty":420},"124":{"q":0,"x":11,"y":5,"tx":240,"ty":200},"125":{"q":1,"x":11,"y":5,"tx":460,"ty":280},"126":{"q":2,"x":11,"y":5,"tx":300,"ty":380},"127":{"q":3,"x":11,"y":5,"tx":400,"ty":300},"128":{"q":0,"x":11,"y":6,"tx":400,"ty":320},"129":{"q":1,"x":11,"y":6,"tx":300,"ty":400},"130":{"q":2,"x":11,"y":6,"tx":100,"ty":300},"131":{"q":3,"x":11,"y":6,"tx":0,"ty":300},"132":{"q":0,"x":11,"y":11,"tx":240,"ty":200},"133":{"q":1,"x":11,"y":11,"tx":220,"ty":200},"134":{"q":2,"x":11,"y":11,"tx":340,"ty":420},"135":{"q":3,"x":11,"y":11,"tx":360,"ty":420},"136":{"q":0,"x":12,"y":6,"tx":320,"ty":400},"137":{"q":1,"x":12,"y":6,"tx":460,"ty":280},"138":{"q":2,"x":12,"y":6,"tx":300,"ty":380},"139":{"q":3,"x":12,"y":6,"tx":120,"ty":300},"140":{"q":0,"x":12,"y":7,"tx":120,"ty":320},"141":{"q":1,"x":12,"y":7,"tx":380,"ty":160},"142":{"q":2,"x":12,"y":7,"tx":60,"ty":420},"143":{"q":0,"x":12,"y":11,"tx":240,"ty":200},"144":{"q":1,"x":12,"y":11,"tx":220,"ty":200},"145":{"q":2,"x":12,"y":11,"tx":340,"ty":420},"146":{"q":3,"x":12,"y":11,"tx":360,"ty":420},"147":{"q":0,"x":13,"y":7,"tx":320,"ty":400},"148":{"q":1,"x":13,"y":7,"tx":220,"ty":200},"149":{"q":2,"x":13,"y":7,"tx":340,"ty":420},"150":{"q":3,"x":13,"y":7,"tx":80,"ty":420},"151":{"q":0,"x":13,"y":11,"tx":240,"ty":200},"152":{"q":1,"x":13,"y":11,"tx":220,"ty":200},"153":{"q":2,"x":13,"y":11,"tx":340,"ty":420},"154":{"q":3,"x":13,"y":11,"tx":360,"ty":420},"155":{"q":0,"x":14,"y":7,"tx":240,"ty":200},"156":{"q":1,"x":14,"y":7,"tx":220,"ty":200},"157":{"q":2,"x":14,"y":7,"tx":340,"ty":420},"158":{"q":3,"x":14,"y":7,"tx":360,"ty":420},"159":{"q":0,"x":14,"y":11,"tx":240,"ty":200},"160":{"q":1,"x":14,"y":11,"tx":220,"ty":200},"161":{"q":2,"x":14,"y":11,"tx":340,"ty":420},"162":{"q":3,"x":14,"y":11,"tx":360,"ty":420},"163":{"q":0,"x":15,"y":7,"tx":240,"ty":200},"164":{"q":1,"x":15,"y":7,"tx":220,"ty":200},"165":{"q":2,"x":15,"y":7,"tx":380,"ty":300},"166":{"q":3,"x":15,"y":7,"tx":360,"ty":420},"167":{"q":0,"x":15,"y":11,"tx":240,"ty":200},"168":{"q":1,"x":15,"y":11,"tx":140,"ty":400},"169":{"q":2,"x":15,"y":11,"tx":340,"ty":420},"170":{"q":3,"x":15,"y":11,"tx":360,"ty":420},"171":{"q":0,"x":16,"y":7,"tx":240,"ty":200},"172":{"q":1,"x":16,"y":7,"tx":460,"ty":280},"173":{"q":2,"x":16,"y":7,"tx":460,"ty":220},"174":{"q":3,"x":16,"y":7,"tx":400,"ty":300},"175":{"q":0,"x":16,"y":8,"tx":400,"ty":320},"176":{"q":1,"x":16,"y":8,"tx":460,"ty":200},"177":{"q":2,"x":16,"y":8,"tx":460,"ty":220},"178":{"q":3,"x":16,"y":8,"tx":0,"ty":220},"179":{"q":0,"x":16,"y":9,"tx":0,"ty":200},"180":{"q":1,"x":16,"y":9,"tx":460,"ty":200},"181":{"q":2,"x":16,"y":9,"tx":460,"ty":220},"182":{"q":3,"x":16,"y":9,"tx":0,"ty":220},"183":{"q":0,"x":16,"y":10,"tx":0,"ty":200},"184":{"q":1,"x":16,"y":10,"tx":460,"ty":200},"185":{"q":2,"x":16,"y":10,"tx":460,"ty":220},"186":{"q":3,"x":16,"y":10,"tx":160,"ty":380},"187":{"q":0,"x":16,"y":11,"tx":160,"ty":400},"188":{"q":1,"x":16,"y":11,"tx":460,"ty":200},"189":{"q":2,"x":16,"y":11,"tx":460,"ty":300},"190":{"q":3,"x":16,"y":11,"tx":360,"ty":420}};
previewCanvas.width = preview_map.info.width * 40;
previewCanvas.height = preview_map.info.height * 40;
var createAllModsPreview = function(tilesImage) {
let mapWidth = previewCanvas.width;
let mapHeight = previewCanvas.height;
var tileCanvas = document.createElement('canvas');
tileCanvas.width = 40;
tileCanvas.height = 40;
var tileCtx = tileCanvas.getContext('2d');
var wallCanvas = document.createElement('canvas');
wallCanvas.width = mapWidth;
wallCanvas.height = mapHeight;
var wallCtx = wallCanvas.getContext('2d');
var previewCtx = previewCanvas.getContext("2d");
previewCtx.clearRect(0, 0, previewCanvas.width, previewCanvas.height);
previewCtx.save();
Object.keys(tileCache).forEach(k => delete tileCache[k]);
let tileBaseColor = options.floortiles.tint_color;
if (options.floortiles.random) tileBaseColor = Please.make_color({
saturation: options.floortiles.random_saturation / 100,
value: options.floortiles.random_brightness / 100
})[0];
$.each(preview_map.data, function(key, value) {
let drawFloorUnderTeam = (options.team.drawFloorUnderneath && (value.id === 11 || value.id === 12 || value.id === 23));
let drawFloorUnderEndzone = (options.endzone.drawFloorUnderneath && (value.id === 17 || value.id === 18));
let drawFloorUnderGate = (options.gates.drawFloorUnderneath && (value.id === 9 || value.id === 9.1 || value.id === 9.2 || value.id === 9.3));
if (value.id === 2 || drawFloorUnderGate || drawFloorUnderTeam || drawFloorUnderEndzone) {//xxy
previewCtx.save();
if (options.floortiles.modify && options.floortiles.nofloor) {
//
} else if (options.floortiles.modify && options.floortiles.plain) {
previewCtx.fillStyle = tileBaseColor;
previewCtx.fillRect(value.x*40, value.y*40, 40, 40);
} else {
if (options.floortiles.modify && options.floortiles.tint_opacity > 0) {
tileCtx.clearRect(0, 0, 40, 40);
tileCtx.drawImage(tilesImage, 520,160,40,40, 0,0,40,40);
setTint(tileCanvas, tileBaseColor, options.floortiles.tint_opacity / 100);
previewCtx.drawImage(tileCanvas, 0,0,40,40, value.x*40,value.y*40,40,40);
} else {
previewCtx.drawImage(tilesImage, 520,160,40,40, value.x*40,value.y*40,40,40);
}
}
previewCtx.restore();
}
});
var floorBackgroundImage = new Image();
if (options.floortiles.image && options.floortiles.imagedata) {
let i = 0;
floorBackgroundImage.src = options.floortiles.imagedata;
}
let imageRatio = (floorBackgroundImage.width / floorBackgroundImage.height);
let mapRatio = (mapWidth / mapHeight);
let widthRatio = (imageRatio < mapRatio ? imageRatio : mapRatio);
let heightRatio = (imageRatio < mapRatio ? mapRatio : imageRatio);
if (options.floortiles.image && options.floortiles.image_floor && floorBackgroundImage.height) {
previewCtx.save();
let filters = '';
if (options.floortiles.image_blur > 0) filters += 'blur('+options.floortiles.image_blur+'px) ';
if (options.floortiles.image_brightness !== '100') filters += 'brightness('+options.floortiles.image_brightness+'%) ';
if (options.floortiles.image_contrast > '100') filters += 'contrast('+options.floortiles.image_contrast+'%) ';
if (options.floortiles.image_saturation > '100') filters += 'saturate('+options.floortiles.image_saturation+'%) ';
if (options.floortiles.image_opacity < 100) filters += 'opacity('+options.floortiles.image_opacity+'%) ';
if (options.floortiles.image_grayscale > 0) filters += 'grayscale('+options.floortiles.image_grayscale+'%) ';
if (options.floortiles.image_sepia > 0) filters += 'sepia('+options.floortiles.image_sepia+'%) ';
if (options.floortiles.image_huerotate > 0) filters += 'hue-rotate('+options.floortiles.image_huerotate+'deg) ';
if (filters) previewCtx.filter = filters;
previewCtx.drawImage(floorBackgroundImage, 0, 0, floorBackgroundImage.width, floorBackgroundImage.height, 0, 0, mapWidth*widthRatio, mapHeight*heightRatio);
previewCtx.restore();
}
if (options.floortiles.gradient) addGradient(previewCtx, 2200, 1600, options.floortiles.gradient_type, options.floortiles.gradient_color1, options.floortiles.gradient_color2, options.floortiles.gradient_opacity1, options.floortiles.gradient_opacity2, options.floortiles.gradient_repeats);
if (options.floortiles.splotches) addSplotches(previewCtx, 2200, 1600); //, 'floortiles', 'screen'
if (options.floortiles.checkered) addCheckered(previewCtx, mapWidth, mapHeight);
if (options.floortiles.hexagons) addHexagons(previewCtx, mapWidth, mapHeight);
if (options.floortiles.grids_diagonal) addDiagonalGrid(previewCtx, mapWidth, mapHeight);
if (options.floortiles.grids_square) addSquareGrid(previewCtx, mapWidth, mapHeight);
if (options.floortiles.specks) addRandoms(previewCtx, mapWidth, mapHeight);
//previewCtx.restore();
if (options.shapes.circle) drawBaseShape(previewCtx, 'circle', options.shapes.circle_red_color, 100, 100);
if (options.shapes.cross) drawBaseShape(previewCtx, 'radial', options.shapes.cross_red_color, 100, 100);
if (options.shapes.octagon) drawBaseShape(previewCtx, 'octagon', options.shapes.octagon_red_color, 100, 100);
if (options.shapes.centerline) drawLine(previewCtx, 0, mapHeight/2, mapWidth, mapHeight/2, hexToRgbA(options.shapes.centerline_color, options.shapes.centerline_opacity / 100), +options.shapes.centerline_width, +options.shapes.centerline_dashsize);
$.each(preview_map.data, function(key, value) {
previewCtx.save();
tileCtx.clearRect(0,0,40,40);
if (value.id === 7) {
if (options.glow.spikes) addLightGlow(previewCtx, value.x*40+20, value.y*40+20, options.glow.spikes_radius, options.glow.spikes_color, options.glow.spikes_opacity/100);
if (options.spikes.modify) {
let filters = '';
if (options.spikes.brightness !== '100') filters += 'brightness('+options.spikes.brightness+'%) ';
if (options.spikes.contrast !== '100') filters += 'contrast('+options.spikes.contrast+'%) ';
if (options.spikes.sepia > 0) filters += 'sepia('+options.spikes.sepia+'%) ';
if (options.spikes.shadow) filters += 'drop-shadow('+options.spikes.shadow_size+'px '+options.spikes.shadow_size+'px '+options.spikes.shadow_blur+'px '+hexToRgbA(options.spikes.shadow_color, options.spikes.shadow_opacity/100)+') ';
if (options.spikes.shapes_star) {
if (!tileCache[value.id]) {
drawCustomTile(value.id);
if (filters) setTint(tileCache[value.id], null, null, false, 'destination-atop', filters);
}
previewCtx.drawImage(tileCache[value.id], 0,0,40,40, value.x*40,value.y*40,40,40);
} else {
tileCtx.drawImage(tilesImage, value.tx,value.ty,40,40, 0,0,40,40);
setTint(tileCanvas, options.spikes.color, options.spikes.opacity/100, false, 'destination-atop', filters);
//if (filters) previewCtx.filter = filters;
previewCtx.drawImage(tileCanvas, 0,0,40,40, value.x*40,value.y*40,40,40);
}
} else {
previewCtx.drawImage(tilesImage, value.tx,value.ty,40,40, value.x*40,value.y*40,40,40);
}
} else if (value.id === 9 || value.id === 9.1 || value.id === 9.2 || value.id === 9.3) {
if (options.walls.modify && options.walls.shadow && options.walls.shadow_include_gates) {
previewCtx.filter = 'drop-shadow('+options.walls.shadow_size+'px '+options.walls.shadow_size+'px '+options.walls.shadow_blur+'px '+hexToRgbA(options.walls.shadow_color, options.walls.shadow_opacity/100)+') ';
}
let margin = +options.gates.original_margin;
let edgeLength = 40 - margin * 2;
if ((value.id === 9 && options.gates.neutral) || (value.id === 9.1 && options.gates.green) || (value.id === 9.2 && options.gates.red) || (value.id === 9.3 && options.gates.blue)) {
drawCustomTile(value.id);
previewCtx.drawImage(tileCache[value.id], 0,0,40,40, value.x*40+margin,value.y*40+margin,edgeLength,edgeLength);
} else {
previewCtx.drawImage(tilesImage, value.tx,value.ty,40,40, value.x*40+margin,value.y*40+margin,edgeLength,edgeLength);
}
} else if (value.id === 10) {
if (options.glow.bombs) addLightGlow(previewCtx, value.x*40+20, value.y*40+20, options.glow.bombs_radius, options.glow.bombs_color, options.glow.bombs_opacity/100);
if (options.bombs.modify) {
drawCustomTile(value.id, tilesImage);
previewCtx.drawImage(tileCache[value.id], 0,0,40,40, value.x*40,value.y*40,40,40);
} else {
previewCtx.drawImage(tilesImage, value.tx,value.ty,40,40, value.x*40,value.y*40,40,40);
}
} else if (value.id === 11 || value.id === 12 || value.id === 23) {
let margin = +options.team.original_margin;
let edgeLength = 40 - margin * 2;
if (options.team.modify) {
let disableCache = false;
if (options.team.gradient2 && (options.team.gradient2_type === 'randomcircles' || options.team.gradient2_type === 'randomsquares')) disableCache = true;
drawCustomTile(value.id, tilesImage, disableCache);
previewCtx.drawImage(tileCache[value.id], 0,0,40,40, value.x*40+margin,value.y*40+margin,edgeLength,edgeLength);
} else {
previewCtx.drawImage(tilesImage, value.tx,value.ty,40,40, value.x*40+margin,value.y*40+margin,edgeLength,edgeLength);
}
} else if (value.id === 17 || value.id === 18) {
let margin = +options.endzone.original_margin;
let edgeLength = 40 - margin * 2;
if (options.endzone.modify) {
drawCustomTile(value.id);
previewCtx.drawImage(tileCache[value.id], 0,0,40,40, value.x*40+margin,value.y*40+margin,edgeLength,edgeLength);
} else {
previewCtx.drawImage(tilesImage, value.tx,value.ty,40,40, value.x*40+margin,value.y*40+margin,edgeLength,edgeLength);
}
} else if (value.id > 2) {
previewCtx.drawImage(tilesImage, value.tx,value.ty,40,40, value.x*40,value.y*40,40,40);
}
previewCtx.restore();
});
if (options.glow.boosts_yellow) {
addLightGlow(previewCtx, 460, 100, options.glow.boosts_yellow_radius, options.glow.boosts_yellow_color, options.glow.boosts_yellow_opacity/100);
}
//pups..
$.each(preview_pups, function(key, value) {
if (options.glow.pups) addLightGlow(previewCtx, value.x*40+20, value.y*40+20, options.glow.pups_radius, options.glow.pups_color, options.glow.pups_opacity/100);
drawCustomTile(value.id, tilesImage);
previewCtx.drawImage(tileCache[value.id], 0,0,40,40, value.x*40,value.y*40,40,40);
});
//walls...
$.each(preview_walls, function(key, value) {
if (value.q >= 0) {
var xo = 0, yo = 0;
if ((value.q === 1) || (value.q === 2)) xo = 20;
if ((value.q === 2) || (value.q === 3)) yo = 20;
wallCtx.drawImage(tilesImage, value.tx, value.ty, 20, 20, value.x*40+xo, value.y*40+yo, 20, 20);
}
});
if (options.walls.gradient) addGradient(wallCtx, 2200, 1600, options.walls.gradient_type, options.walls.gradient_color1, options.walls.gradient_color2, options.walls.gradient_opacity1, options.walls.gradient_opacity2, options.walls.gradient_repeats, true, 'source-atop');
if (options.walls.splotches) addSplotches(wallCtx, 2200, 1600, 'walls', 'source-atop');
if (options.walls.checkered) addCheckered(wallCtx, mapWidth, mapHeight, 'walls', 'source-atop');
if (options.walls.grids_diagonal) addDiagonalGrid(wallCtx, mapWidth, mapHeight, 'walls', 'source-atop');
if (options.walls.grids_square) addSquareGrid(wallCtx, mapWidth, mapHeight, 'walls', 'source-atop');
if (options.walls.specks) addRandoms(wallCtx, mapWidth, mapHeight, 'walls', 'source-atop');
if (options.walls.modify) {
if (options.walls.opacity > 0) setTint(wallCanvas, options.walls.color, options.walls.opacity / 100);
let filters = '';
if (options.walls.brightness !== '100') filters += 'brightness(' + options.walls.brightness + '%) ';
if (options.walls.contrast !== '100') filters += 'contrast(' + options.walls.contrast + '%) ';
if (options.walls.sepia > 0) filters += 'sepia(' + options.walls.sepia + '%) ';
if (options.walls.shadow) filters += 'drop-shadow(' + options.walls.shadow_size+'px ' + options.walls.shadow_size+'px ' + options.walls.shadow_blur+'px ' + hexToRgbA(options.walls.shadow_color, options.walls.shadow_opacity/100) + ') ';
if (options.walls.invert > 0) filters += 'invert(' + options.walls.invert + '%) ';
if (filters) previewCtx.filter = filters;
}
previewCtx.drawImage(wallCanvas, 0, 0);
previewCtx.filter = 'none';
//draw a background image on the walls if present and ready...
if (options.floortiles.image && options.floortiles.image_walls && floorBackgroundImage.height) {
let filters = '';
if (options.floortiles.image_walls_blur > 0) filters += 'blur('+options.floortiles.image_walls_blur+'px) ';
if (options.floortiles.image_walls_brightness !== '100') filters += 'brightness('+options.floortiles.image_walls_brightness+'%) ';
if (options.floortiles.image_walls_contrast > '100') filters += 'contrast('+options.floortiles.image_walls_contrast+'%) ';
if (options.floortiles.image_walls_saturation > '100') filters += 'saturate('+options.floortiles.image_walls_saturation+'%) ';
if (options.floortiles.image_walls_opacity < 100) filters += 'opacity('+options.floortiles.image_walls_opacity+'%) ';
if (options.floortiles.image_walls_grayscale > 0) filters += 'grayscale('+options.floortiles.image_walls_grayscale+'%) ';
if (options.floortiles.image_walls_sepia > 0) filters += 'sepia('+options.floortiles.image_walls_sepia+'%) ';
if (options.floortiles.image_walls_huerotate > 0) filters += 'hue-rotate('+options.floortiles.image_walls_huerotate+'deg) ';
if (filters) previewCtx.filter = filters;
wallCtx.globalCompositeOperation = 'source-in';
wallCtx.drawImage(floorBackgroundImage, 0, 0, floorBackgroundImage.width, floorBackgroundImage.height, 0, 0, mapWidth*widthRatio, mapHeight*heightRatio);
previewCtx.drawImage(wallCanvas, 0, 0);
}
previewCtx.restore();
tileCanvas = null;
wallCanvas = null;
return previewCanvas;
};
/*-------------------------------------------------------------------------------*/
function createPreview(img, isThumbnail=false) {
let ctx = previewCanvas.getContext("2d");
//floor, objects..
$.each(preview_map.data, function(key, value) {
ctx.drawImage(img, value.tx, value.ty, 40, 40, value.x*40, value.y*40, 40, 40);
});
//pups..
$.each(preview_pups, function(key, value) {
ctx.drawImage(img, value.tx, value.ty, 40, 40, value.x*40, value.y*40, 40, 40);
});
//walls...
$.each(preview_walls, function(key, value) {
if (value.q >= 0) {
var xoffset = 0, yoffset = 0;
if ((value.q === 1) || (value.q === 2)) xoffset = 20;
if ((value.q === 0) || (value.q === 1)) yoffset = -20;
ctx.drawImage(img, value.tx, value.ty, 20, 20, value.x*40+xoffset, value.y*40+yoffset+20, 20, 20);
}
});
if (isThumbnail) {
let tempCanvas = document.createElement('canvas');
tempCanvas.width = 200;
tempCanvas.height = 138;
let tempCtx = tempCanvas.getContext("2d");
tempCtx.drawImage(previewCanvas, 0,0,640,440, 0,0,200,138);
return tempCanvas;
} else {
return previewCanvas;
}
};
var animatePreview = function(tilesImg, speedpadImg, portalImg, redBallImg, blueBallImg) {
if (!$('#TTM_BG_Preview').length) return;
var bgCtx = document.getElementById('TTM_BG_Preview').getContext('2d');
var drawPop = 0;
var popStartSize = 100;
var popStep = 10;
var extraAnimFramePos = 0;
var frameCount = 0;
var animObjects = {
rball: { p0:{x:840, y:-200}, p1:{x:40, y:40}, p2:{x:40, y:400}, p3:{x:540, y:390}, tx:560, ty:0, speed:0.003, t:0 },
bball: { p0:{x:680, y:-160}, p1:{x:-40, y:130}, p2:{x:0, y:540}, p3:{x:405, y:270}, tx:600, ty:0, speed:0.003, t:0 },
yflag: { p0:{x:120, y:94}, p1:{x:352, y:346}, p2:{x:352, y:346}, p3:{x:352, y:346}, tx:520, ty:40, speed:0.0015, t:0, offx:13, offy:-32 },
};
var animate = function() {
bgCtx.clearRect(0, 0, previewCanvas.width, previewCanvas.height);
bgCtx.fillStyle = 'rgba(255,128,0,0.1)';
for (var key in animObjects) {
let value = animObjects[key];
let draw = true;
var pt;
if (key === 'yflag') {
pt = { x:animObjects.bball.x + value.offx, y:animObjects.bball.y + value.offy };
if ((value.speed < 0 && value.t < 0.5) || (value.speed > 0 && value.t > 0.5)) draw = false;
if (draw && pt.x > 370 && pt.y > 230) draw = false;
} else {
pt = calcBezierPoint(value.t, value.p0, value.p1, value.p2, value.p3);
value.x = pt.x;
value.y = pt.y;
if (key === 'rball') {
if (value.speed < 0) draw = false;
if (drawPop === 0 && pt.x+39 > value.p3.x && pt.y > 230 && value.speed < 0) drawPop = popStartSize;
}
}
if (draw) {
if (key === 'rball') {
bgCtx.save();
bgCtx.translate(pt.x, pt.y);
bgCtx.rotate(200+(50*value.t));
bgCtx.globalAlpha = ((100 - options.gameoptions.ball_transparency) / 100);
if (options.gameoptions.filters_brightness) bgCtx.filter = 'brightness('+options.gameoptions.filters_brightness_value+'%) ';
if (redBallImg) bgCtx.drawImage(redBallImg, 0,0,40,40, -20,-20,40,40);
else bgCtx.drawImage(tilesImg, value.tx,value.ty,40,40, -20,-20,40,40);
bgCtx.translate(-pt.x, -pt.y);
bgCtx.globalAlpha = 1;
bgCtx.restore();
} else if (key === 'bball' && blueBallImg) {
bgCtx.globalAlpha = ((100 - options.gameoptions.ball_transparency) / 100);
bgCtx.drawImage(blueBallImg, 0,0,40,40, pt.x,pt.y,40,40);
bgCtx.globalAlpha = 1;
} else {
bgCtx.drawImage(tilesImg, value.tx,value.ty,40,40, pt.x,pt.y,40,40);
}
}
value.t += value.speed;
if (value.t > 1 || value.t < 0) value.speed *= -1;
}
if (drawPop > 0) {
bgCtx.beginPath();
bgCtx.arc(540,390,popStartSize-drawPop, 0, Math.PI*2, false);
bgCtx.fill();
drawPop-=popStep;
} else {
drawPop = 0;
}
if (speedpadImg) {
bgCtx.drawImage(speedpadImg, extraAnimFramePos,0,40,40, 440,80,40,40);
}
if (portalImg) {
bgCtx.drawImage(portalImg, extraAnimFramePos,0,40,40, 600,320,40,40);
bgCtx.drawImage(portalImg, extraAnimFramePos,0,40,40, 600,360,40,40);
bgCtx.drawImage(portalImg, extraAnimFramePos,0,40,40, 600,400,40,40);
}
if (frameCount % 8 === 0) extraAnimFramePos+=40;
if (extraAnimFramePos >= 160) extraAnimFramePos = 0;
frameCount++;
if ($('#TTM_BG_Preview').length) window.requestAnimationFrame(animate);
};
if ($('#TTM_BG_Preview').length) window.requestAnimationFrame(animate);
};
var calcBezierPoint = function(t, p0, p1, p2, p3) {
var data = [p0, p1, p2, p3];
var at = 1 - t;
for (var i = 1; i < data.length; i++) {
for (var k = 0; k < data.length - i; k++) {
data[k] = {
x: data[k].x * at + data[k + 1].x * t,
y: data[k].y * at + data[k + 1].y * t
};
}
}
return data[0];
};
/*-------------------------------------------------------------------------------*/
$('.texture-choice').on('click', function() {
var currentTiles = $('#tiles').val();
var clearableCounter = 0;
var clearable = setInterval(function() {
clearableCounter+=50;
if (clearableCounter > 2000) {
clearInterval(clearable);
}
if ($('#tiles').val() !== currentTiles) {
clearInterval(clearable);
updateFloorTilesPreview();
}
}, 50);
});
$('#TPE_DeleteAllOptions').on('click', function() {
if (!confirm('All saved options sets will be deleted and this page will reload\n\nOK to continue?\n\n')) return;
GM_deleteValue('myOptions');
window.location.reload();
}).hover(function() {
$(this).css('opacity', '1');
}, function() {
$(this).css('opacity', '0.2');
});
$('.TPE_Import_Presets').on('click', function() {
var what = this.dataset.key;
var response = prompt('Enter JSON string to import ' + what + ' options from...');
var optionsJSON = {};
if (!response) return;
try {
if (what === 'all') {
optionsJSON = JSON.parse(response);
} else {
optionsJSON[what] = JSON.parse(response);
}
} catch(e) {
alert('An error has occurred. Data string must be in JSON format.\n\n');
return;
}
options = $.extend(true, options, optionsJSON);
GM_setValue('options', options);
loadOptionsValues(false);
updateAllPreviews();
}).hover(function() {
$(this).css('opacity', '1');
}, function() {
$(this).css('opacity', '0.2');
});
$('.TPE_Export_Presets').on('click', function() {
checkOptions();
var key = this.dataset.key;
var aux = document.createElement("input");
var values = '';
if (key === 'all') {
options.textures.tiles = $('#tiles').val();
options.textures.speedpad = $('#speedpad').val();
options.textures.speedpadRed = $('#speedpadRed').val();
options.textures.speedpadBlue = $('#speedpadBlue').val();
options.textures.portal = $('#portal').val();
options.textures.splats = $('#splats').val();
options.textures.gravityWell = $('#gravityWell').val();
aux.setAttribute("value", JSON.stringify(options));
} else if (this.dataset.keys) {
var keysArray = this.dataset.keys.split(',');
var newObject = {};
for (var i in keysArray) {
if (options.hasOwnProperty(keysArray[i])) {
newObject = options[keysArray[i]];
}
}
aux.setAttribute("value", JSON.stringify(newObject));
} else {
aux.setAttribute("value", JSON.stringify(options[key]));
}
document.body.appendChild(aux);
aux.select();
document.execCommand("copy");
document.body.removeChild(aux);
alert('Done - ' + key + ' options have been saved in the clipboard as a JSON sting.\n\n');
}).hover(function() {
$(this).css('opacity', '1');
}, function() {
$(this).css('opacity', '0.2');
});
$('#TPE_SaveMyPack').on('click', function() {
var name = prompt('Texture pack name:');
if (name) {
var myPacks = GM_getValue('myPacks', {});
var currentPack = getCurrentPack();
var isNewPack = true;
if (myPacks.hasOwnProperty(name)) {
if (!confirm('"'+name+'" already exists - OK to overwrite?\n\n')) return;
isNewPack = false;
delete myPacks[name];
}
myPacks[name] = currentPack;
GM_setValue('myPacks', myPacks);
if (isNewPack) {
createNewPackIcon(name);
$.each($('#custom').find('input[type="text"]'), function() {
$('#TPE_MyPacks_OptGroup_'+this.id).after('<option value="'+myPacks[name][this.id]+'" data-name="'+name+'">'+name+'</option>');
});
}
$('#custom-textures-btn').trigger('click');
}
}).hover(function() {
$(this).css('opacity', '1');
}, function() {
$(this).css('opacity', '0.7');
});
$('#TPE_MySavedPacks').on('click', '.TPE_MySavedPack', function() {
var myPacks = GM_getValue('myPacks', {});
var name = $(this).data('name');
if (myPacks.hasOwnProperty(name)) {
$.each(myPacks[name], function(key, value) {
$('#'+key).val(value);
});
$('#custom-textures-btn').trigger('click');
}
});
$('#TPE_MySavedPacks').on('mouseenter', '.TPE_MySavedPack', function() {
$(this).css('box-shadow', '0 0 15px #ccc');
$(this).find('.TPE_DeleteSavedPack').show();
}).on('mouseleave', '.TPE_MySavedPack', function() {
$(this).css('box-shadow', 'none');
$(this).find('.TPE_DeleteSavedPack').hide();
});
$('#TPE_MySavedPacks').on('click', '.TPE_DeleteSavedPack', function(e) {
e.stopPropagation();
e.preventDefault();
var myPacks = GM_getValue('myPacks', {});
var name = $(this).parent().data('name');
if (name && myPacks.hasOwnProperty(name)) {
if (!confirm('Delete saved pack "'+name+'?\n\n')) return;
delete myPacks[name];
GM_setValue('myPacks', myPacks);
var $this = $(this).parent();
$this.fadeOut(600, function() { $this.remove(); });
$('#custom').find('select').find('option[data-name="'+name+'"]').remove();
}
});
$('#TPE_MySavedPacks').on('mouseenter', '.TPE_DeleteSavedPack', function() {
$(this).css('opacity', '1');
}).on('mouseleave', '.TPE_DeleteSavedPack', function() {
$(this).css('opacity', '0.7');
});
$('.TPE_Packs').on('change', function() {
$(this).siblings('input[type="text"]').val($(this).val());
});
/*-------------------------------------------------------------------------------*/
$('#TPE_SaveMyOptions').on('click', function() {
var saveTextures = confirm('Save the texture links too\n\n(Cancel for No)?\n\n');
var name = prompt('Options save name:');
if (name) {
var myOptions = GM_getValue('myOptions', {});
var isNewOptions = true;
if (myOptions.hasOwnProperty(name)) {
if (!confirm('"'+name+'" already exists - OK to overwrite?\n\n')) return;
isNewOptions = false;
delete myOptions[name];
}
myOptions[name] = options;
if (saveTextures) {
if (!myOptions[name].hasOwnProperty('textures')) myOptions[name].textures = {};
myOptions[name].textures.tiles = $('#tiles').val();
myOptions[name].textures.speedpad = $('#speedpad').val();
myOptions[name].textures.speedpadRed = $('#speedpadRed').val();
myOptions[name].textures.speedpadBlue = $('#speedpadBlue').val();
myOptions[name].textures.portal = $('#portal').val();
myOptions[name].textures.splats = $('#splats').val();
myOptions[name].textures.gravityWell = $('#gravityWell').val();
$('#custom-textures-btn').trigger('click');
} else {
delete myOptions[name].textures;
}
GM_setValue('myOptions', myOptions);
if (isNewOptions) {
createNewOptionsIcon(name);
}
}
}).hover(function() {
$(this).css('opacity', '1');
}, function() {
$(this).css('opacity', '0.7');
});
$('#TPE_MySavedOptions').on('click', '.TPE_MySavedOptions', function() {
var myOptions = GM_getValue('myOptions', {});
var name = $(this).data('name');
if (myOptions.hasOwnProperty(name)) {
options = $.extend(true, {}, defaultOptions, myOptions[name]);
GM_setValue('options', options);
loadOptionsValues(false);
updateAllPreviews();
$('#TPE_MySavedOptions_Presets').prop('selectedIndex', 0);
}
});
$('#TPE_MySavedOptions').on('mouseenter', '.TPE_MySavedOptions', function() {
$(this).css('box-shadow', '0 0 10px #aaa');
$(this).find('.TPE_DeleteSavedOptions').show();
}).on('mouseleave', '.TPE_MySavedOptions', function() {
$(this).css('box-shadow', 'none');
$(this).find('.TPE_DeleteSavedOptions').hide();
});
$('#TPE_MySavedOptions').on('click', '.TPE_DeleteSavedOptions', function(e) {
e.stopPropagation();
e.preventDefault();
var myOptions = GM_getValue('myOptions', {});
var name = $(this).parent().data('name');
if (name && myOptions.hasOwnProperty(name)) {
if (!confirm('Delete saved options "'+name+'?\n\n')) return;
delete myOptions[name];
GM_setValue('myOptions', myOptions);
var $this = $(this).parent();
$this.fadeOut(600, function() { $this.remove(); });
}
});
$('#TPE_MySavedOptions').on('mouseenter', '.TPE_DeleteSavedOptions', function() {
$(this).css('opacity', '1');
}).on('mouseleave', '.TPE_DeleteSavedOptions', function() {
$(this).css('opacity', '0.5');
});
/*-------------------------------------------------------------------------------*/
$('.tab-list li').on('click', function() {
$(this).parents('.tab-list').find('li').removeClass('active');
$(this).parents('.tab-list').parent().find('.tab-pane').removeClass('active');
$(this).addClass('active');
$( $(this).data('target') ).addClass('active');
});
$('#TPE_Wallpaper').find('input[type="radio"], input[type="checkbox"], input[type="number"]').on('click', function() {
if (this.name === 'TPE_GradientPresets') {
$('#TPE_GameWallPaper_Color1').val(this.dataset.c1);
$('#TPE_GameWallPaper_Color2').val(this.dataset.c2);
$('#TPE_GameWallPaper_Color1').data('c1', this.dataset.c1);
$('#TPE_GameWallPaper_Color2').data('c2', this.dataset.c2);
options.gamewallpaper.color1 = $('#TPE_GameWallPaper_Color1').data('c1');
options.gamewallpaper.color2 = $('#TPE_GameWallPaper_Color2').data('c2');
if ($('#TPE_Wallpaper').find('input[data-saveto="gamewallpaper.bg_random"]').is(':checked')) $('#TPE_Wallpaper').find('input[data-saveto="gamewallpaper.bg_random"]').click();
} else if ($('#TPE_Wallpaper').find('input[data-saveto="gamewallpaper.bg_random"]').is(':checked')) {
options.gamewallpaper.bg_random_saturation = $('#TPE_Wallpaper').find('input[data-saveto="gamewallpaper.bg_random_saturation"]').val();
options.gamewallpaper.bg_random_brightness = $('#TPE_Wallpaper').find('input[data-saveto="gamewallpaper.bg_random_brightness"]').val();
let color = Please.make_color({
golden: false,
saturation: options.gamewallpaper.bg_random_saturation / 100,
value: options.gamewallpaper.bg_random_brightness / 100,
format: 'hsv'
})[0];
let colors = Please.make_scheme(color, {
scheme_type: 'complement',
format: 'hex'
});
let c1 = colors[0].slice(0, 7);
let c2 = colors[1].slice(0, 7);
$('#TPE_GameWallPaper_Color1').val(c1);
$('#TPE_GameWallPaper_Color2').val(c2);
$('#TPE_GameWallPaper_Color1').data('c1', c1);
$('#TPE_GameWallPaper_Color2').data('c2', c2);
options.gamewallpaper.color1 = c1;
options.gamewallpaper.color2 = c2;
}
GM_setValue('options', options);
});
$('#TPE_TransparentBall').on('input', function() {
$('#TPE_TransparentBallValue').text(this.value);
saveValue(this);
});
var hideshowGroups = function(that) {
var saveto = that.dataset.saveto;
var type = that.dataset.type;
var group = that.dataset.group;
var rgroup = that.dataset.rgroup;
if (type === 'custom') {
let index = saveto.split('.');
$('input[data-saveto="'+index[0]+'.shapes_overlay_base64"]').fadeIn();
} else {
//$('input[data-saveto="'+index[0]+'.shapes_overlay_base64"]').fadeOut();
}
if (group) {
if ( $(that).is(':checked') || ($(that).val() > 0) ) $('#TPE_Container, #TPE_Container_Balls').find('.'+group).fadeIn();
else $('#TPE_Container, #TPE_Container_Balls').find('.'+group).fadeOut(100);
}
if (rgroup) {
if ( $(that).is(':checked') || ($(that).val() > 0) ) $('#TPE_Container, #TPE_Container_Balls').find('.'+rgroup).fadeOut();
else $('#TPE_Container, #TPE_Container_Balls').find('.'+rgroup).fadeIn(100);
}
};
$('#TPE_Container, #TPE_Container_Balls').find('input[type="checkbox"], input[type="number"], input[type="radio"]').on('click', function() {
hideshowGroups(this);
saveValue(this);
updateAllPreviews();
});
$('#TPE_Container, #TPE_Container_Balls').find('input[type="color"], select').on('change', function() {
hideshowGroups(this);
saveValue(this);
if (this.id !== 'TPE_MySavedOptions_Presets') updateAllPreviews();
});
$('.TPE_Preset').on('click', function() {
loadPreset(this.dataset.preset, this.dataset.color);
});
$('#TPE_MySavedOptions_Presets').on('change', function() {
loadPreset($('#TPE_MySavedOptions_Presets :selected').data('preset'));
});
$('#TPE_RedBall_CopyValues').on('click', function() {
$('#TPE_Red_Balls').find('input').each(function(key, value) {
if (this.type !== 'color') {
let saveto = this.dataset.saveto.replace('red', 'blue');
let that = $('#TPE_Blue_Balls').find('input[data-saveto="'+saveto+'"]');
if (this.type === 'checkbox') {
that.prop('checked', this.checked);
} else if (this.type === 'radio') {
let value = $('input[name="TPE_RedBall_Shapes_Overlay_Type"]:checked', '.TPE_RedBall_Shapes_Overlay_Group').data('type');
if (this.dataset.type === value) {
that = $('#TPE_Blue_Balls').find('input[data-type="'+value+'"]');
that.prop('checked', this.checked);
}
} else {
that.val(this.value);
}
hideshowGroups(that[0]);
saveValue(that[0]);
}
});
updateBallPreviews();
});
$('#TPE_BlueBall_CopyValues').on('click', function() {
$('#TPE_Blue_Balls').find('input').each(function(key, value) {
if (this.type !== 'color') {
let saveto = this.dataset.saveto.replace('blue', 'red');
let that = $('#TPE_Red_Balls').find('input[data-saveto="'+saveto+'"]');
if (this.type === 'checkbox') {
that.prop('checked', this.checked);
} else if (this.type === 'radio') {
let value = $('input[name="TPE_BlueBall_Shapes_Overlay_Type"]:checked', '.TPE_BlueBall_Shapes_Overlay_Group').data('type');
if (this.dataset.type === value) {
that = $('#TPE_Red_Balls').find('input[data-type="'+value+'"]');
that.prop('checked', this.checked);
}
} else {
that.val(this.value);
}
hideshowGroups(that[0]);
saveValue(that[0]);
}
});
updateBallPreviews();
});
/*-------------------------------------------------------------------------------*/
// Drag/Drop events...
$(document).on('dragover', function(e) {
e.stopPropagation();
e.preventDefault();
$('#TPE_DropZone_Outer, #TPE_FloorImage_DropZone_Outer').css({border:'2px dotted yellow'});
}).on('dragleave', function(e) {
e.stopPropagation();
e.preventDefault();
$('#TPE_DropZone_Outer, #TPE_FloorImage_DropZone_Outer').css({border:'2px dashed silver'});
});
$('#TPE_DropZone_Outer, #TPE_FloorImage_DropZone_Outer').on('dragover', function(e) {
e.stopPropagation();
e.preventDefault();
$(this).css({background:'lime', opacity:0.3});
}).on('dragleave', function(e) {
e.stopPropagation();
e.preventDefault();
$(this).css({background:'', opacity:1});
}).on('drop', function(e) {
e.stopPropagation();
e.preventDefault();
$(this).css({border:'2px dotted silver', background:'', opacity:1});
if (this.id === 'TPE_DropZone_Outer') handleDrop(e, 'gamewallpaper');
else if (this.id === 'TPE_FloorImage_DropZone_Outer') handleDrop(e, 'floortiles');
}).on('dblclick', function(e) {
e.stopPropagation();
e.preventDefault();
let target = 'gamewallpaper';
if (this.id === 'TPE_FloorImage_DropZone_Outer') target = 'floortiles';
if ( (target === 'gamewallpaper' && $('#TPE_WP').val() === 'image') || (target === 'floortiles') ) {
if (!confirm('Remove Custom Wallpaper?')) return;
options[target].imagedata = '';
GM_setValue('options', options);
if (this.id === 'TPE_DropZone_Outer') $('#TPE_DropZone').css({ 'background': '#000 url("/images/background.jpg") center center / cover no-repeat' });
else if (this.id === 'TPE_FloorImage_DropZone_Outer') $('#TPE_FloorImage_DropZone').css({ 'background': 'none' });
setTimeout(function() {
if (target === 'gamewallpaper') updateBGPreview();
else if (target === 'floortiles') updateFloorImagePreview();
}, 100);
}
});
} //...not in a game
}); //tagpro.ready()
//-----------------------------------------------
//functions for drawing modified tiles & balls...
//-----------------------------------------------
function clearFloor(ctx, width, height) {
if (options.floortiles.plain) {
ctx.fillStyle = hexToRgbA(options.floortiles.tint_color, 1);
ctx.fillRect(0, 0, width, height);
} else {
if (options.floortiles.tint_opacity > 0) {
ctx.fillStyle = hexToRgbA(options.floortiles.tint_color, options.floortiles.tint_opacity / 100);
ctx.fillRect(0, 0, width, height);
}
}
}
function addGradient(ctx, width, height, type, color1, color2, opacity1, opacity2, repeats, wholeFloor=true, globalCompositeOperation='source-over') {
let gradient, gradient2;
let doItAgain = false;
let w2 = width/2;
let h2 = height/2;
opacity1 = opacity1 / 100;
opacity2 = opacity2 / 100;
ctx.save();
ctx.globalCompositeOperation = globalCompositeOperation; //'source-over'; //atop
if (type === 'centerline') {
if (flagLocs.halfway.x) {
gradient = ctx.createLinearGradient(0, h2, width, h2);
} else {
gradient = ctx.createLinearGradient(w2, 0, w2, height);
}
} else if (type === 'horizontal') {
gradient = ctx.createLinearGradient(w2, 0, w2, height);
if (options.team.gradient2_redrawopp) {
gradient2 = ctx.createLinearGradient(0, h2, width, h2);
doItAgain = true;
}
} else if (type === 'vertical') {
gradient = ctx.createLinearGradient(0, h2, width, h2);
if (options.team.gradient2_redrawopp) {
gradient2 = ctx.createLinearGradient(w2, 0, w2, height);
doItAgain = true;
}
} else if (type === 'diagonal') {
gradient = ctx.createLinearGradient(0, 0, width, height);
if (options.team.gradient2_redrawopp) {
gradient2 = ctx.createLinearGradient(0, width, height, 0);
doItAgain = true;
}
} else if (type === 'centercircle') {
//gradient = ctx.createRadialGradient(w2, h2, 0, w2, h2, Math.max(width, height) / 2);
gradient = ctx.createRadialGradient(w2, h2, 0, w2, h2, Math.sqrt(Math.max(width, height) * Math.max(width, height) * 2) / 2);
} else if (type === 'flags') {
if (flagLocs.yellow.x && flagLocs.yellow.y) {
gradient = ctx.createLinearGradient(flagLocs.ezred.x, flagLocs.ezred.y, flagLocs.ezblue.x, flagLocs.ezblue.y);
} else if (flagLocs.red.x && flagLocs.blue.x) {
gradient = ctx.createLinearGradient(flagLocs.red.x+20, flagLocs.red.y+20, flagLocs.blue.x+20, flagLocs.blue.y+20);
} else {
gradient = ctx.createLinearGradient(0, 0, width, height);
}
} else if (type === 'randomcircles' || type === 'randomsquares') {
let count = Math.min(width, height) / (wholeFloor ? 40 : 5);
ctx.filter = 'blur(' + repeats + 'px)';
if (!wholeFloor) {
ctx.fillStyle = color1;
ctx.fillRect(0, 0, width, height);
}
for (let i=0; i<count; i++) {
let x = getRandomInt(0, width);
let y = getRandomInt(0, height);
let r = getRandomInt((wholeFloor ? 200 : 20), (wholeFloor ? 400 : 60));
let color = color1;
let luminosity = getRandomInt(30, 70) / 100;
let opacity = opacity1;
if (type === 'randomcircles') gradient = ctx.createRadialGradient(x, y, 0, x, y, r);
else gradient = ctx.createLinearGradient(x-r, y-r, x+r, y+r);
for (let j=0; j<3; j++) {
let rand = getRandomInt(0, 1);
if (rand === 0) {
color = color2;
opacity = opacity2;
}
rand = getRandomInt(0, 1);
if (rand === 0) {
luminosity = luminosity * -1;
}
let c = hexToRgbA(colorLuminance(color, luminosity), opacity);
if (j === 0) gradient.addColorStop(0, c);
else if (j === 1) gradient.addColorStop(Math.random(), c);
else if (j === 2) gradient.addColorStop(1, c);
}
ctx.fillStyle = gradient;
ctx.beginPath();
if (type === 'randomcircles') {
ctx.arc(x, y, r, 0, 2*Math.PI);
ctx.fill();
} else {
ctx.fillRect(x-r, y-r, x+r, y+r);
}
}
ctx.globalCompositeOperation = 'source-over';
ctx.restore();
return;
}
let co1 = hexToRgbA(color1, opacity1);
let co2 = hexToRgbA(color2, opacity2);
if (repeats === '0') {
gradient.addColorStop(0, co1);
gradient.addColorStop(1, co2);
ctx.fillStyle = gradient;
if (options.team.gradient2_roundedrect > 0) roundedRect(ctx, 0, 0, width, height, +options.team.gradient2_roundedrect, false, true)
else ctx.fillRect(0, 0, width, height);
if (doItAgain) {
gradient2.addColorStop(0, co1);
gradient2.addColorStop(1, co2);
ctx.fillStyle = gradient2;
if (options.team.gradient2_roundedrect > 0) roundedRect(ctx, 0, 0, width, height, +options.team.gradient2_roundedrect, false, true)
else ctx.fillRect(0, 0, width, height);
}
ctx.globalCompositeOperation = 'source-over';
ctx.restore();
return;
}
let gradientInterval = 1 / repeats;
let i = gradientInterval;
let alt = true;
gradient.addColorStop(0, co1);
while (i < 1) {
if (alt) {
gradient.addColorStop(i, co2);
alt = false;
} else {
gradient.addColorStop(i, co1);
alt = true;
}
i += gradientInterval;
}
gradient.addColorStop(1, co1);
ctx.fillStyle = gradient;
if (options.team.gradient2_roundedrect > 0) roundedRect(ctx, 0, 0, width, height, +options.team.gradient2_roundedrect, false, true)
else ctx.fillRect(0, 0, width, height);
if (doItAgain) {
i = gradientInterval;
alt = true;
gradient2.addColorStop(0, co1);
while (i < 1) {
if (alt) {
gradient2.addColorStop(i, co2);
alt = false;
} else {
gradient2.addColorStop(i, co1);
alt = true;
}
i += gradientInterval;
}
gradient2.addColorStop(1, co1);
ctx.fillStyle = gradient2;
if (options.team.gradient2_roundedrect > 0) roundedRect(ctx, 0, 0, width, height, +options.team.gradient2_roundedrect, false, true)
else ctx.fillRect(0, 0, width, height);
}
ctx.globalCompositeOperation = 'source-over';
ctx.restore();
}
function addSplotches(ctx, mapWidth, mapHeight, target='floortiles', globalCompositeOperation='source-over') {
let colors;
let radius = +options[target].splotches_radius; //95
let spacing = radius * 1.15; //+options[target].splotches_spacing; //110
let color_base = options[target].splotches_color_base;
let color_scheme = options[target].splotches_color_scheme;
let color_hue = Please.HEX_to_HSV(color_base).h;
let color_rgb = Please.HEX_to_RGB(color_base);
let color_saturation = options[target].splotches_color_saturation / 100;
let color_brightness = options[target].splotches_color_brightness / 100;
let color_opacity = options[target].splotches_color_opacity / 100;
if (color_scheme === 'normal') {
colors = Please.make_color({
golden: false,
hue: color_hue,
saturation: color_saturation,
value: color_brightness,
greyscale: color_rgb.r === color_rgb.g && color_rgb.g === color_rgb.b ? true : false,
format: 'hex'
});
} else {
let color = Please.make_color({
golden: false,
hue: color_hue,
saturation: color_saturation,
value: color_brightness,
greyscale: color_rgb.r === color_rgb.g && color_rgb.g === color_rgb.b ? true : false,
format: 'hsv'
})[0];
colors = Please.make_scheme(color, {
scheme_type: color_scheme, //triadic, split, complement, double, analogous
format: 'hex'
});
}
for (let i=0; i<mapWidth; i+=spacing) {
for (let j=0; j<mapHeight; j+=spacing) {
let x = getRandomInt(i, i + spacing);
let y = getRandomInt(j, j + spacing);
let color = colors[getRandomInt(0, colors.length - 1)].slice(0, 7); //slice should prevent a bug in Please when the color is #000000
let opacity = getRandomInt(Math.min(10, color_opacity - 25), Math.max(color_opacity + 25, 100)) / 100;
addLightGlow(ctx, x, y, radius, color, color_opacity, globalCompositeOperation)
}
}
}
function addHexagons(ctx, mapWidth, mapHeight, target='floortiles', globalCompositeOperation='source-over') { //size, margin, stroke, stroke_color, stroke_opacity, stroke_gradient, fill, fill_color, fill_opacity, fill_gradient,
let size = options[target].hexagons_size;
let pattern = document.createElement('canvas');
pattern.width = 2 * size;
pattern.height = Math.sqrt(3) * size;
let pctx = pattern.getContext('2d');
ctx.save();
ctx.globalCompositeOperation = globalCompositeOperation;
if (options[target].hexagons_blur > 0) {
pctx.filter = 'blur('+options[target].hexagons_blur+'px)';
}
let radius = size/2;
let radius3 = radius*3;
let a = pattern.width / 2;
let b = pattern.height / 2;
let margin = Math.ceil(Math.floor((pattern.width-pattern.height) / 2) / 2);
let s2r = radius + margin - options[target].hexagons_margin;
let lineWidth = options[target].hexagons_linewidth;
let strokeColor = '';
let fillColor = '';
let radialColor = '';
let center = Math.sqrt(3) * radius / radius;
if (options[target].hexagons_stroke) {
if (options[target].hexagons_stroke_gradient > 0) {
let strokeOffset = s2r * options[target].hexagons_stroke_gradient / 100;
strokeColor = ctx.createRadialGradient(strokeOffset, strokeOffset, radius-lineWidth/2, strokeOffset, strokeOffset, radius+lineWidth/2);
strokeColor.addColorStop(0, hexToRgbA(options[target].hexagons_stroke_color, options[target].hexagons_stroke_opacity / 100));
strokeColor.addColorStop(1, hexToRgbA(colorLuminance(options[target].hexagons_stroke_color, -0.65), options[target].hexagons_stroke_opacity / 100));
} else {
strokeColor = hexToRgbA(options[target].hexagons_stroke_color, options[target].hexagons_stroke_opacity / 100);
}
}
if (options[target].hexagons_fill) {
if (options[target].hexagons_fill_gradient > 0) {
let fillOffset = s2r * options[target].hexagons_fill_gradient / 100;
fillColor = ctx.createRadialGradient(center-fillOffset, center-fillOffset, 0, center-fillOffset, center-fillOffset, size);
fillColor.addColorStop(0, hexToRgbA(options[target].hexagons_fill_color, options[target].hexagons_fill_opacity / 100));
fillColor.addColorStop(1, hexToRgbA(colorLuminance(options[target].hexagons_fill_color, -0.75), options[target].hexagons_fill_opacity / 100));
} else {
fillColor = hexToRgbA(options[target].hexagons_fill_color, options[target].hexagons_fill_opacity / 100);
}
}
//create a seamless hexagon pattern for repeating
drawPolygon(pctx, radius, 0, s2r, 6, lineWidth, strokeColor, fillColor, radialColor, 30); //top left hexagon
drawPolygon(pctx, radius3, 0, s2r, 6, lineWidth, strokeColor, fillColor, radialColor, 30); //top right
drawPolygon(pctx, 0, b, s2r, 6, lineWidth, strokeColor, fillColor, radialColor, 30); //center left
drawPolygon(pctx, a, b, s2r, 6, lineWidth, strokeColor, fillColor, radialColor, 30); //center
drawPolygon(pctx, pattern.width, b, s2r, 6, lineWidth, strokeColor, fillColor, radialColor, 30); //center right
drawPolygon(pctx, radius, pattern.height, s2r, 6, lineWidth, strokeColor, fillColor, radialColor, 30); //bottom left
drawPolygon(pctx, radius3, pattern.height, s2r, 6, lineWidth, strokeColor, fillColor, radialColor, 30); //bottom right
let patt = ctx.createPattern(pattern, "repeat");
ctx.fillStyle = patt;
ctx.fillRect(0, 0, mapWidth, mapHeight);
pattern = null;
ctx.restore();
}
function addCheckered(ctx, mapWidth, mapHeight, target='floortiles', globalCompositeOperation='source-over') {
let pattern = document.createElement('canvas');
let size = +options[target].checkered_size;
let margin = +options[target].checkered_margin;
let random = options[target].checkered_random;
let blur = +options[target].checkered_blur;
ctx.save();
ctx.globalCompositeOperation = globalCompositeOperation; //'source-over'; //atop
//if (blur > 0) ctx.filter = 'blur('+blur+'px)';
if (size === 0) {
if (flagLocs.halfway.x) {
ctx.beginPath();
ctx.fillStyle = hexToRgbA(options[target].checkered_altTintColor, options[target].checkered_altTintOpacity / 100);
ctx.fillRect(flagLocs.halfway.x, 0, mapWidth, mapHeight);
ctx.closePath();
} else {
ctx.beginPath();
ctx.fillStyle = hexToRgbA(options[target].checkered_altTintColor, options[target].checkered_altTintOpacity / 100);
ctx.fillRect(0, flagLocs.halfway.y, mapWidth, mapHeight);
ctx.closePath();
}
} else if (random) {
if (size < 5) size = 5; //too slow with < 5
ctx.beginPath();
for (let i=0; i<mapWidth; i+=size) {
for (let j=0; j<mapHeight; j+=size) {
let rand = getRandomInt(0, 1);
let randomOpacity = getRandomInt(0, options[target].checkered_altTintOpacity) / 100;
let c = hexToRgbA(colorLuminance(options[target].checkered_altTintColor, Math.random() * (rand ? 1 : -1)), randomOpacity);
ctx.fillStyle = c;
ctx.fillRect(i+margin, j+margin, size-margin*2, size-margin*2);
}
}
ctx.closePath();
} else {
pattern.width = 2 * size;
pattern.height = 2 * size;
let pctx = pattern.getContext('2d');
pctx.beginPath();
pctx.fillStyle = hexToRgbA(options[target].checkered_altTintColor, options[target].checkered_altTintOpacity / 100);
pctx.fillRect(size+margin, margin, size-margin*2, size-margin*2); //top right
pctx.fillRect(margin, size+margin, size-margin*2, size-margin*2); //bottom left
pctx.closePath();
let patt = ctx.createPattern(pattern, "repeat");
ctx.fillStyle = patt;
ctx.fillRect(0, 0, mapWidth, mapHeight);
}
pattern = null;
ctx.restore();
}
function addSquareGrid(ctx, mapWidth, mapHeight, target='floortiles', globalCompositeOperation='source-over') {
let pattern = document.createElement('canvas');
pattern.width = options[target].grids_square_size;
pattern.height = options[target].grids_square_size;
let pctx = pattern.getContext('2d');
ctx.save();
ctx.globalCompositeOperation = globalCompositeOperation;
if (options[target].grids_square_blur > 0) {
pctx.filter = 'blur('+options[target].grids_square_blur+'px)';
}
let margin = options[target].grids_square_margin;
//if (options[target].grids_square_linewidth % 2 !== 0) pctx.translate(0.5, 0.5); //&& (margin % 2 !== 0))
pctx.strokeStyle = hexToRgbA(options[target].grids_square_color, options[target].grids_square_opacity / 100);
if (options[target].grids_square_dashed) pctx.setLineDash([options[target].grids_square_dashed]);
pctx.lineWidth = options[target].grids_square_linewidth;
pctx.beginPath();
pctx.moveTo(margin, pattern.height-margin);
pctx.lineTo(margin, margin);
pctx.lineTo(pattern.width-margin, margin);
pctx.stroke();
pctx.closePath();
if (options[target].grids_square_altSides) {
pctx.strokeStyle = hexToRgbA(options[target].grids_square_altColor, options[target].grids_square_opacity / 100);
pctx.beginPath();
pctx.moveTo(pattern.width-margin, margin);
pctx.lineTo(pattern.width-margin, pattern.height-margin);
pctx.lineTo(margin, pattern.height-margin);
pctx.stroke();
pctx.closePath();
}
let patt = ctx.createPattern(pattern, "repeat");
ctx.fillStyle = patt;
ctx.fillRect(0, 0, mapWidth, mapHeight);
pattern = null;
ctx.restore();
}
function addDiagonalGrid(ctx, mapWidth, mapHeight, target='floortiles', globalCompositeOperation='source-over') {
let pattern = document.createElement('canvas');
pattern.width = options[target].grids_diagonal_size;
pattern.height = options[target].grids_diagonal_size;
let pctx = pattern.getContext('2d');
ctx.save();
ctx.globalCompositeOperation = globalCompositeOperation;
if (options[target].grids_diagonal_blur > 0) {
pctx.filter = 'blur('+options[target].grids_diagonal_blur+'px)';
}
//pctx.translate(0.5, 0.5); //if (options.shapes.centerline_width % 2 !== 0)
pctx.strokeStyle = hexToRgbA(options[target].grids_diagonal_color, options[target].grids_diagonal_opacity / 100);
if (options[target].grids_diagonal_dashed) pctx.setLineDash([options[target].grids_diagonal_dashed]);
pctx.lineWidth = options[target].grids_diagonal_linewidth || 1;
pctx.beginPath();
pctx.moveTo(0, 0);
pctx.lineTo(options[target].grids_diagonal_size, options[target].grids_diagonal_size);
pctx.moveTo(options[target].grids_diagonal_size, 0);
pctx.lineTo(0, options[target].grids_diagonal_size);
pctx.stroke();
pctx.closePath();
let patt = ctx.createPattern(pattern, "repeat");
ctx.fillStyle = patt;
ctx.fillRect(0, 0, mapWidth, mapHeight);
pattern = null;
ctx.restore();
}
function addRandoms(ctx, maxX=40, maxY=40, target='floortiles', globalCompositeOperation='source-over') {
if (!ctx) return;
let count = +options[target].specks_count;
let color = options[target].specks_color;
let opacity = options[target].specks_opacity;
let width = +options[target].specks_width;
let length = +options[target].specks_length;
let angle = +options[target].specks_angle;
let a = angle * Math.PI / 180;
count = maxX/40 * maxY/40 * 0.5 * count;
//count = 200;
ctx.save();
ctx.globalCompositeOperation = globalCompositeOperation;
let xt=0, yt=0;
if (length !== 1 || width !== 1) {
if (length % 2 !== 0) xt = 0.5;
if (width % 2 !== 0) yt = 0.5;
}
ctx.translate(xt, yt);
if (opacity > 0) {
ctx.fillStyle = hexToRgbA(color, opacity/100);
ctx.strokeStyle = hexToRgbA(color, opacity/100);
}
ctx.lineWidth = width;
for (var i=0; i<count; i++) {
if (angle === 0) a = Math.random() * Math.PI * 2;
let sx = getRandomInt(1, maxX);
let sy = getRandomInt(1, maxY);
ctx.beginPath();
if (length === 1 && width === 1) {
if (opacity <= 0) ctx.fillStyle = hexToRgbA(color, getRandomInt(0, -opacity)/100); //Math.random());
ctx.fillRect(sx,sy,1,1);
} else {
let d = length;
if (length < 0) d *= -Math.random();
let dx = sx + Math.cos(a) * d;
let dy = sy + Math.sin(a) * d;
if (opacity <= 0) ctx.strokeStyle = hexToRgbA(color, getRandomInt(0, -opacity)/100);
ctx.moveTo(sx, sy);
ctx.lineTo(dx, dy);
ctx.closePath();
ctx.stroke();
}
}
ctx.restore();
}
function drawBaseCircle(ctx, linewidth, radius, color, opacity, useGradient, dashsize, x, y) {
ctx.save();
ctx.globalCompositeOperation = 'source-over';
ctx.lineWidth = linewidth;
if (dashsize > 0) ctx.setLineDash([dashsize]);
if (useGradient) {
let radialGradient = ctx.createRadialGradient(x, y, radius-linewidth/2, x, y, +radius+linewidth/2);
radialGradient.addColorStop(0, hexToRgbA(color, opacity));
radialGradient.addColorStop(1, hexToRgbA(color, 0));
ctx.strokeStyle = radialGradient;
} else {
ctx.strokeStyle = hexToRgbA(color, opacity);
}
ctx.beginPath();
ctx.arc(x, y, radius, 0, 2*Math.PI);
ctx.closePath();
ctx.stroke();
//ctx.fill();
ctx.restore();
}
function drawLine(ctx, x1, y1, x2, y2, color, lineWidth, dashsize=0) {
let doTranslate = (options.shapes.centerline_width % 2 !== 0);
ctx.save();
ctx.globalCompositeOperation = 'source-over'; //atop
ctx.strokeStyle = color;
ctx.lineWidth = lineWidth;
if (dashsize > 0) {
ctx.setLineDash([dashsize]);
if (doTranslate) ctx.translate(0.5, 0.5);
}
ctx.beginPath();
ctx.moveTo(x1, y1);
ctx.lineTo(x2, y2);
ctx.stroke();
ctx.closePath();
if (dashsize > 0) {
if (doTranslate) ctx.translate(-0.5, -0.5);
ctx.setLineDash([]);
}
ctx.restore();
}
function drawPolygon(ctx, x, y, radius, sides, lineWidth=1, strokeColor='#555555', fillColor='', radialColor='', rotateAngle=22.5) {
ctx.save();
//ctx.globalCompositeOperation = 'source-atop';
//console.log('drawPolygon():',x, y, radius, sides, lineWidth, strokeColor, fillColor, radialColor, rotateAngle);
ctx.translate(0.5, 0.5);
if (rotateAngle === null) {
if (sides < 3) return;
else if (sides === 3) rotateAngle = 30;
else if (sides === 4) rotateAngle = 45;
else if (sides === 5) rotateAngle = 54;
else if (sides === 6) rotateAngle = 60;
else if (sides === 8) rotateAngle = 22.5;
else rotateAngle = 0;
}
rotateAngle = rotateAngle * Math.PI / 180;
let a = (Math.PI * 2) / sides;
ctx.lineWidth = lineWidth;
ctx.translate(x, y);
ctx.rotate(rotateAngle);
ctx.moveTo(radius, 0);
if (strokeColor || fillColor) {
ctx.beginPath();
for (let i=1; i<=sides; i++) {
ctx.lineTo(radius*Math.cos(a*i), radius*Math.sin(a*i));
}
ctx.closePath();
if (fillColor) {
ctx.fillStyle = fillColor;
ctx.fill();
}
if (strokeColor) {
ctx.strokeStyle = strokeColor;
ctx.stroke();
}
}
if (radialColor) {
ctx.beginPath();
let x, y;
for (let i=1; i<=sides; i++) {
x = Math.cos(a*i);
y = Math.sin(a*i);
ctx.lineTo(0, 0);
ctx.moveTo(radius*Math.cos(a*i), radius*Math.sin(a*i));
}
//ctx.lineTo((x>=0?50:-50), (y>=0?50:-50));
ctx.lineTo(0, 0);
ctx.closePath();
ctx.strokeStyle = radialColor;
ctx.stroke();
}
ctx.restore();
}
function drawBaseShape(ctx, shape, color, x, y) {
ctx.save();
ctx.globalCompositeOperation = 'source-over'; //atop
if (shape === 'circle') {
let radius = +options.shapes.circle_radius;
if (options.shapes.circle_width > 1) radius = +options.shapes.circle_radius + (options.shapes.circle_width / 2);
drawBaseCircle(ctx, options.shapes.circle_width, radius, color, options.shapes.circle_opacity/100, options.shapes.circle_gradient, +options.shapes.circle_dashsize, x, y);
} else if (shape === 'cross') {
let radius_inner = Number(options.shapes.cross_radius_inner);
let radius_outer = Number(options.shapes.cross_radius_outer) * 0.707;
let xpo = x + radius_outer;
let xmo = x - radius_outer;
let ypo = y + radius_outer;
let ymo = y - radius_outer;
let xpi = x + radius_inner;
let xmi = x - radius_inner;
let ypi = y + radius_inner;
let ymi = y - radius_inner;
ctx.strokeStyle = hexToRgbA(color, options.shapes.cross_opacity / 100);
ctx.lineWidth = options.shapes.cross_width;
ctx.beginPath();
ctx.moveTo(xmo, ymo);
ctx.lineTo(xmi, ymi);
ctx.moveTo(xpo, ymo);
ctx.lineTo(xpi, ymi);
ctx.moveTo(xpo, ypo);
ctx.lineTo(xpi, ypi);
ctx.moveTo(xmo, ypo);
ctx.lineTo(xmi, ypi);
ctx.closePath();
ctx.stroke();
} else if (shape === 'radial') {
drawPolygon(ctx, x, y, options.shapes.cross_radius_outer, options.shapes.cross_radius_inner, options.shapes.cross_width, '', '', hexToRgbA(color, options.shapes.cross_opacity/100), null);
} else if (shape === 'octagon') {
let octagonRadius = options.shapes.octagon_radius;
if (options.shapes.octagon_width > 1) octagonRadius = +options.shapes.octagon_radius + (options.shapes.octagon_width / 2);
let numberSides = options.shapes.octagon_sides;
let fillColor = '';
if (options.shapes.octagon_fillopacity > 0) {
if (options.shapes.octagon_fillgradient) {
let c = options.shapes.octagon_radius ;
if (options.shapes.octagon_width > 1) c = +options.shapes.octagon_radius + (options.shapes.octagon_width / 2);
let gradient = ctx.createRadialGradient(0,0,0, 0,0,c);
gradient.addColorStop(0, hexToRgbA(color, options.shapes.octagon_fillopacity / 100));
gradient.addColorStop(1, hexToRgbA(color, 0));
fillColor = gradient;
} else {
fillColor = hexToRgbA(color, options.shapes.octagon_fillopacity / 100);
}
}
drawPolygon(ctx, x, y, octagonRadius, numberSides, options.shapes.octagon_width, hexToRgbA(color, options.shapes.octagon_opacity / 100), fillColor, '', null);
}
ctx.restore();
}
function addPattern(ctx, color, opacity=1, size=20, margin=1, linewidth=1, blur=0, stroke=true, fill=false, pyramid=false) {
if (!ctx) return;
//ctx.globalCompositeOperation = "source-over";
let canvasWidth = ctx.canvas.width;
let canvasHeight = ctx.canvas.height;
var pattern = document.createElement('canvas');
pattern.width = size;
pattern.height = size;
var pctx = pattern.getContext('2d');
pctx.lineWidth = linewidth;
if (pyramid) {
margin = size - margin;
let p1 = size / 2 - margin / 2;
let p2 = size / 2 + margin / 2;
let c = size / 2;
//1--------------------
pctx.beginPath();
pctx.strokeStyle = hexToRgbA(colorLuminance(color, 0), opacity);
pctx.fillStyle = hexToRgbA(colorLuminance(color, 0), opacity);
pctx.moveTo(c, c);
pctx.lineTo(p1, p1);
pctx.lineTo(p2, p1);
if (stroke) pctx.stroke();
if (fill) pctx.fill();
pctx.closePath();
//2--------------------
pctx.beginPath();
pctx.strokeStyle = hexToRgbA(colorLuminance(color, -0.15), opacity);
pctx.fillStyle = hexToRgbA(colorLuminance(color, -0.15), opacity);
pctx.moveTo(c, c);
pctx.lineTo(p2, p1);
pctx.lineTo(p2, p2);
if (stroke) pctx.stroke();
if (fill) pctx.fill();
pctx.closePath();
//3--------------------
pctx.beginPath();
pctx.strokeStyle = hexToRgbA(colorLuminance(color, -0.35), opacity);
pctx.fillStyle = hexToRgbA(colorLuminance(color, -0.35), opacity);
pctx.moveTo(c, c);
pctx.lineTo(p2, p2);
pctx.lineTo(p1, p2);
if (stroke) pctx.stroke();
if (fill) pctx.fill();
pctx.closePath();
//4--------------------
pctx.beginPath();
pctx.strokeStyle = hexToRgbA(colorLuminance(color, -0.25), opacity);
pctx.fillStyle = hexToRgbA(colorLuminance(color, -0.15), opacity);
pctx.moveTo(c, c);
pctx.lineTo(p1, p2);
pctx.lineTo(p1, p1);
if (stroke) pctx.stroke();
if (fill) pctx.fill();
pctx.closePath();
} else {
//pctx.translate(-0.5, -0.5);
let filters = '';
if (blur > 0) filters += 'blur('+blur+'px) ';
if (filters) pctx.filter = filters;
margin = size - margin;
let p1 = size / 2 - margin / 2;
let p2 = size / 2 + margin / 2;
pctx.strokeStyle = hexToRgbA(color, opacity);
pctx.beginPath();
pctx.moveTo(p2, p1);
pctx.lineTo(p2, p2);
pctx.lineTo(p1, p2);
pctx.stroke();
if (fill) {
pctx.fillStyle = hexToRgbA(colorLuminance(color, -0.35), opacity);
if (stroke) pctx.fillRect(p1, p1, margin, margin);
else pctx.fill();
}
pctx.closePath();
if (stroke) { //alt side
pctx.strokeStyle = hexToRgbA(color, opacity * 0.4);
pctx.beginPath();
pctx.moveTo(p1, p2);
pctx.lineTo(p1, p1);
pctx.lineTo(p2, p1);
pctx.stroke();
}
if (fill) {
pctx.fillStyle = hexToRgbA(colorLuminance(color, -0.35), opacity);
if (stroke) pctx.fillRect(p1, p1, margin, margin);
else pctx.fill();
}
pctx.closePath();
}
var patt = ctx.createPattern(pattern, "repeat");
ctx.fillStyle = patt;
ctx.fillRect(0, 0, canvasWidth, canvasHeight);
pattern = null;
}
function drawCustomTile(tileId, tilesImg, noCache=false) {
if (noCache || !tileCache.hasOwnProperty(tileId)) {
let tempTileCanvas = document.createElement('canvas');
tempTileCanvas.width = 40;
tempTileCanvas.height = 40;
let tempTileCtx = tempTileCanvas.getContext('2d');
if (tileId == 7) {
drawStar(tempTileCtx, 'spikes');
} else if (tileId == 10) {
let color = '';
let opacity = 0;
let filters = '';
if (options.bombs.opacity > 0) {
color = options.bombs.color;
opacity = options.bombs.opacity / 100;
}
if (options.bombs.brightness !== '100') filters += 'brightness('+options.bombs.brightness+'%) ';
if (options.bombs.contrast !== '100') filters += 'contrast('+options.bombs.contrast+'%) ';
if (options.bombs.sepia > 0) filters += 'sepia('+options.bombs.sepia+'%) ';
if (options.bombs.shadow) filters += 'drop-shadow('+options.bombs.shadow_size+'px '+options.bombs.shadow_size+'px '+options.bombs.shadow_blur+'px '+hexToRgbA(options.bombs.shadow_color, options.bombs.shadow_opacity/100)+') ';
tempTileCtx.drawImage(tilesImg, 480,40,40,40, 0,0,40,40);
setTint(tempTileCanvas, color, opacity, false, 'destination-atop', filters);
} else if (tileId == 6.1 || tileId == 6.2 || tileId == 6.3 || tileId == 6.4) {
let y;
let color = null;
let opacity = null;
let filters = '';
if (tileId == 6.1) {
y = 160;
if (options.pups.jj_modify) {
color = options.pups.jj_color;
opacity = options.pups.jj_opacity / 100;
}
} else if (tileId == 6.2) {
y = 200;
if (options.pups.rb_modify) {
color = options.pups.rb_color;
opacity = options.pups.rb_opacity / 100;
}
} else if (tileId == 6.3) {
y = 240;
if (options.pups.tp_modify) {
color = options.pups.tp_color;
opacity = options.pups.tp_opacity / 100;
}
} else if (tileId == 6.4) {
y = 280;
}
if (options.pups.shadow) filters += 'drop-shadow('+options.pups.shadow_size+'px '+options.pups.shadow_size+'px '+options.pups.shadow_blur+'px '+hexToRgbA(options.pups.shadow_color, options.pups.shadow_opacity/100)+') ';
tempTileCtx.drawImage(tilesImg, 480,y,40,40, 0,0,40,40);
if ((color && opacity) || filters) setTint(tempTileCanvas, color, opacity, false, 'destination-atop', filters);
} else if (tileId === 11 || tileId === 12 || tileId === 23) {
let color;
if (tileId === 11) color = options.team.red_color;
else if (tileId === 12) color = options.team.blue_color;
else if (tileId === 23) color = options.team.yellow_color;
let filters = '';
if (options.team.brightness !== '100') filters += 'brightness('+options.team.brightness+'%) ';
if (options.team.contrast !== '100') filters += 'contrast('+options.team.contrast+'%) ';
if (options.team.sepia > 0) filters += 'sepia('+options.team.sepia+'%) ';
if (options.team.opacity < 100) filters += 'opacity('+options.team.opacity+'%) ';
if (filters) tempTileCtx.filter = filters;
let margin = options.team.margin;
tempTileCtx.beginPath();
if (options.team.gradient2) {
let color2;
if (tileId === 11) color2 = options.team.gradient2_red_color;
else if (tileId === 12) color2 = options.team.gradient2_blue_color;
else if (tileId === 23) color2 = options.team.gradient2_yellow_color;
addGradient(tempTileCtx, 40, 40, options.team.gradient2_type, color, color2, options.team.gradient2_opacity1, options.team.gradient2_opacity2, options.team.gradient2_repeats, false, 'source-over');
} else {
tempTileCtx.fillStyle = color;
tempTileCtx.fillRect(margin, margin, 40-margin*2, 40-margin*2);
}
if (options.team.pattern) {
let pcolor = options.team.pattern_red_color;
if (tileId === 12) pcolor = options.team.pattern_blue_color;
else if (tileId === 23) pcolor = options.team.pattern_yellow_color;
let opacity = options.team.pattern_opacity / 100;
let size = options.team.pattern_size || 20;
let margin = options.team.pattern_margin || 1;
let blur = options.team.pattern_blur || 0;
let stroke = options.team.pattern_altsides || false;
let fill = options.team.pattern_fill || false;
let pyramid = false;
addPattern(tempTileCtx, pcolor, opacity, size, margin, 1, blur, stroke, fill, pyramid);
}
if (options.team.border) {
let size = options.team.border_size;
let pattern = document.createElement('canvas');
pattern.width = 40;
pattern.height = 40;
let pctx = pattern.getContext('2d');
if (tileId === 11) pctx.strokeStyle = hexToRgbA(options.team.border_red_color, options.team.border_opacity/100);
else if (tileId === 12) pctx.strokeStyle = hexToRgbA(options.team.border_blue_color, options.team.border_opacity/100);
else if (tileId === 23) pctx.strokeStyle = hexToRgbA(options.team.border_yellow_color, options.team.border_opacity/100);
pctx.lineWidth = options.team.border_linewidth; //1;
pctx.beginPath();
pctx.rect(size, size, 40-size*2, 40-size*2);
pctx.stroke();
pctx.closePath();
let patt = tempTileCtx.createPattern(pattern, "repeat");
tempTileCtx.fillStyle = patt;
//tempTileCtx.fillRect(margin, margin, 40-margin*2, 40-margin*2);
tempTileCtx.fillRect(0, 0, 40, 40);
pattern = null;
}
} else if (tileId === 17 || tileId === 18) {
let color = tileId === 17 ? options.endzone.red_color : options.endzone.blue_color;
let margin = options.endzone.margin;
let pattern = document.createElement('canvas');
let filters = '';
if (options.endzone.opacity < 100) filters += 'opacity('+options.endzone.opacity+'%) ';
if (filters) tempTileCtx.filter = filters;
tempTileCtx.fillStyle = color;
tempTileCtx.fillRect(margin, margin, 40-margin*2, 40-margin*2);
if (options.endzone.checkered) { //checkered
let size = options.endzone.checkered_size;
pattern.width = size*2;
pattern.height = size*2;
let pctx = pattern.getContext('2d');
pctx.beginPath();
pctx.fillStyle = (tileId === 17 ? options.endzone.checkered_alt_red_color : options.endzone.checkered_alt_blue_color);
pctx.fillRect(size, 0, size*2, size);
pctx.fillRect(0, size, size, size*2);
let patt = tempTileCtx.createPattern(pattern, "repeat");
tempTileCtx.fillStyle = patt;
tempTileCtx.fillRect(margin, margin, 40-margin*2, 40-margin*2);
}
if (options.endzone.stripes) { //stripes
let size = options.endzone.stripes_size;
pattern.width = size;
pattern.height = size;
let pctx = pattern.getContext('2d');
pctx.strokeStyle = (tileId === 17 ? options.endzone.stripes_red_color : options.endzone.stripes_blue_color);
pctx.lineWidth = 1;
//pctx.translate(0.5, 0.5);
pctx.beginPath();
if (tileId === 17) {
pctx.moveTo(0, 0);
pctx.lineTo(size, size);
} else {
pctx.moveTo(0, size);
pctx.lineTo(size, 0);
}
pctx.closePath();
pctx.stroke();
let patt = tempTileCtx.createPattern(pattern, "repeat");
tempTileCtx.fillStyle = patt;
tempTileCtx.fillRect(margin, margin, 40-margin*2, 40-margin*2);
}
if (options.endzone.border) {
let size = +options.endzone.border_size;
pattern.width = 40;
pattern.height = 40;
let pctx = pattern.getContext('2d');
pctx.strokeStyle = hexToRgbA(tileId === 17 ? options.endzone.border_red_color : options.endzone.border_blue_color, options.endzone.border_opacity/100);
pctx.lineWidth = options.endzone.border_linewidth;
let qty = options.endzone.border_count;
if (qty > 1) size = 0;
let spacing = (40 - size) / qty / 2;
for (var i=0; i<qty; i++) {
let adj = i * spacing;
pctx.beginPath();
pctx.rect(size+adj, size+adj, 40-(size+adj)*2, 40-(size+adj)*2);
pctx.stroke();
pctx.closePath();
}
let patt = tempTileCtx.createPattern(pattern, "repeat");
tempTileCtx.fillStyle = patt;
tempTileCtx.fillRect(margin, margin, 40-margin*2, 40-margin*2);
}
pattern = null;
} else if (tileId == 9 || tileId == 9.1 || tileId == 9.2 || tileId == 9.3) { //Gates
let fillColor;
let fillOpacity = 1;
let fillMargin = 0;
let borderColor;
let borderLineWidth = 1;
let borderMargin = 0;
let crossColor;
let crossOpacity = 1;
let crossLineWidth = 1;
let crossMargin = 40;
let patternColor;
let patternOpacity = 1;
let patternSize = 40;
let patternMargin = 1;
let patternLineWidth = 1;
let patternStroke = false;
let patternFill = false;
let patternPyramid = false;
if (tileId == 9) {
if (options.gates.neutral_fill) fillColor = options.gates.neutral_fill_color;
if (options.gates.neutral_fill_opacity < 100) fillOpacity = options.gates.neutral_fill_opacity / 100;
if (options.gates.neutral_fill_margin > 0) fillMargin = options.gates.neutral_fill_margin;
if (options.gates.neutral_border) borderColor = options.gates.neutral_border_color;
if (options.gates.neutral_border_linewidth > 1) borderLineWidth = options.gates.neutral_border_linewidth;
if (options.gates.neutral_border_margin > 0) borderMargin = options.gates.neutral_border_margin;
if (options.gates.neutral_cross) crossColor = options.gates.neutral_cross_color;
if (options.gates.neutral_cross_opacity < 100) crossOpacity = options.gates.neutral_cross_opacity / 100;
if (options.gates.neutral_cross_linewidth > 1) crossLineWidth = options.gates.neutral_cross_linewidth;
if (options.gates.neutral_cross_margin > 0) crossMargin = options.gates.neutral_cross_margin;
if (options.gates.neutral_pattern) patternColor = options.gates.neutral_pattern_color;
if (options.gates.neutral_pattern_opacity < 100) patternOpacity = options.gates.neutral_pattern_opacity / 100;
if (options.gates.neutral_pattern_size > 1) patternSize = options.gates.neutral_pattern_size;
if (options.gates.neutral_pattern_margin > 1) patternMargin = options.gates.neutral_pattern_margin;
if (options.gates.neutral_pattern_linewidth > 1) patternLineWidth = options.gates.neutral_pattern_linewidth;
if (options.gates.neutral_pattern_stroke) patternStroke = options.gates.neutral_pattern_stroke;
if (options.gates.neutral_pattern_fill) patternFill = options.gates.neutral_pattern_fill;
if (options.gates.neutral_pattern_pyramid) patternPyramid = options.gates.neutral_pattern_pyramid;
} else if (tileId == 9.1) {
if (options.gates.green_fill) fillColor = options.gates.green_fill_color;
if (options.gates.green_fill_opacity < 100) fillOpacity = options.gates.green_fill_opacity / 100;
if (options.gates.green_fill_margin > 0) fillMargin = options.gates.green_fill_margin;
if (options.gates.green_border) borderColor = options.gates.green_border_color;
if (options.gates.green_border_linewidth > 1) borderLineWidth = options.gates.green_border_linewidth;
if (options.gates.green_border_margin > 0) borderMargin = options.gates.green_border_margin;
if (options.gates.green_cross) crossColor = options.gates.green_cross_color;
if (options.gates.green_cross_opacity < 100) crossOpacity = options.gates.green_cross_opacity / 100;
if (options.gates.green_cross_linewidth > 1) crossLineWidth = options.gates.green_cross_linewidth;
if (options.gates.green_cross_margin > 0) crossMargin = options.gates.green_cross_margin;
if (options.gates.green_pattern) patternColor = options.gates.green_pattern_color;
if (options.gates.green_pattern_opacity < 100) patternOpacity = options.gates.green_pattern_opacity / 100;
if (options.gates.green_pattern_size > 1) patternSize = options.gates.green_pattern_size;
if (options.gates.green_pattern_margin > 1) patternMargin = options.gates.green_pattern_margin;
if (options.gates.green_pattern_linewidth > 1) patternLineWidth = options.gates.green_pattern_linewidth;
if (options.gates.green_pattern_stroke) patternStroke = options.gates.green_pattern_stroke;
if (options.gates.green_pattern_fill) patternFill = options.gates.green_pattern_fill;
if (options.gates.green_pattern_pyramid) patternPyramid = options.gates.green_pattern_pyramid;
} else if (tileId == 9.2) {
if (options.gates.red_fill) fillColor = options.gates.red_fill_color;
if (options.gates.red_fill_opacity < 100) fillOpacity = options.gates.red_fill_opacity / 100;
if (options.gates.red_fill_margin > 0) fillMargin = options.gates.red_fill_margin;
if (options.gates.red_border) borderColor = options.gates.red_border_color;
if (options.gates.red_border_linewidth > 1) borderLineWidth = options.gates.red_border_linewidth;
if (options.gates.red_border_margin > 0) borderMargin = options.gates.red_border_margin;
if (options.gates.red_cross) crossColor = options.gates.red_cross_color;
if (options.gates.red_cross_opacity < 100) crossOpacity = options.gates.red_cross_opacity / 100;
if (options.gates.red_cross_linewidth > 1) crossLineWidth = options.gates.red_cross_linewidth;
if (options.gates.red_cross_margin > 0) crossMargin = options.gates.red_cross_margin;
if (options.gates.red_pattern) patternColor = options.gates.red_pattern_color;
if (options.gates.red_pattern_opacity < 100) patternOpacity = options.gates.red_pattern_opacity / 100;
if (options.gates.red_pattern_size > 1) patternSize = options.gates.red_pattern_size;
if (options.gates.red_pattern_margin > 1) patternMargin = options.gates.red_pattern_margin;
if (options.gates.red_pattern_linewidth > 1) patternLineWidth = options.gates.red_pattern_linewidth;
if (options.gates.red_pattern_stroke) patternStroke = options.gates.red_pattern_stroke;
if (options.gates.red_pattern_fill) patternFill = options.gates.red_pattern_fill;
if (options.gates.red_pattern_pyramid) patternPyramid = options.gates.red_pattern_pyramid;
} else if (tileId == 9.3) {
if (options.gates.blue_fill) fillColor = options.gates.blue_fill_color;
if (options.gates.blue_fill_opacity < 100) fillOpacity = options.gates.blue_fill_opacity / 100;
if (options.gates.blue_fill_margin > 0) fillMargin = options.gates.blue_fill_margin;
if (options.gates.blue_border) borderColor = options.gates.blue_border_color;
if (options.gates.blue_border_linewidth > 1) borderLineWidth = options.gates.blue_border_linewidth;
if (options.gates.blue_border_margin > 0) borderMargin = options.gates.blue_border_margin;
if (options.gates.blue_cross) crossColor = options.gates.blue_cross_color;
if (options.gates.blue_cross_opacity < 100) crossOpacity = options.gates.blue_cross_opacity / 100;
if (options.gates.blue_cross_linewidth > 1) crossLineWidth = options.gates.blue_cross_linewidth;
if (options.gates.blue_cross_margin > 0) crossMargin = options.gates.blue_cross_margin;
if (options.gates.blue_pattern) patternColor = options.gates.blue_pattern_color;
if (options.gates.blue_pattern_opacity < 100) patternOpacity = options.gates.blue_pattern_opacity / 100;
if (options.gates.blue_pattern_size > 1) patternSize = options.gates.blue_pattern_size;
if (options.gates.blue_pattern_margin > 1) patternMargin = options.gates.blue_pattern_margin;
if (options.gates.blue_pattern_linewidth > 1) patternLineWidth = options.gates.blue_pattern_linewidth;
if (options.gates.blue_pattern_stroke) patternStroke = options.gates.blue_pattern_stroke;
if (options.gates.blue_pattern_fill) patternFill = options.gates.blue_pattern_fill;
if (options.gates.blue_pattern_pyramid) patternPyramid = options.gates.blue_pattern_pyramid;
}
if (fillColor) {
tempTileCtx.beginPath();
tempTileCtx.fillStyle = hexToRgbA(fillColor, fillOpacity);
tempTileCtx.fillRect(fillMargin, fillMargin, 40-fillMargin*2, 40-fillMargin*2);
tempTileCtx.closePath();
}
if (patternColor) {
addPattern(tempTileCtx, patternColor, patternOpacity, patternSize, patternMargin, patternLineWidth, 0, patternStroke, patternFill, patternPyramid);
}
if (crossColor) {
tempTileCtx.beginPath();
tempTileCtx.strokeStyle = hexToRgbA(crossColor, crossOpacity);
tempTileCtx.lineWidth = crossLineWidth;
tempTileCtx.moveTo(crossMargin, crossMargin);
tempTileCtx.lineTo(40-crossMargin, 40-crossMargin);
tempTileCtx.moveTo(crossMargin, 40-crossMargin);
tempTileCtx.lineTo(40-crossMargin, crossMargin);
tempTileCtx.closePath();
tempTileCtx.stroke();
}
if (borderColor) {
//tempTileCtx.translate(0.5, 0.5);
tempTileCtx.beginPath();
tempTileCtx.strokeStyle = borderColor;
tempTileCtx.lineWidth = borderLineWidth;
tempTileCtx.rect(borderMargin, borderMargin, 40-borderMargin*2, 40-borderMargin*2);
tempTileCtx.closePath();
tempTileCtx.stroke();
}
}
tileCache[tileId] = tempTileCanvas;
}
}
function addLightGlow(ctx, x, y, radius, color, startOpacity, globalCompositeOperation='source-over', drawEllipse=false) {
ctx.save();
ctx.globalCompositeOperation = globalCompositeOperation;
var radialGradient = ctx.createRadialGradient(x, y, 0, x, y, radius);
radialGradient.addColorStop(0, hexToRgbA(color, startOpacity));
radialGradient.addColorStop(0.2, hexToRgbA(color, startOpacity*0.85));
radialGradient.addColorStop(0.7, hexToRgbA(color, startOpacity*0.5));
radialGradient.addColorStop(0.9, hexToRgbA(color, startOpacity*0.15));
radialGradient.addColorStop(1, hexToRgbA(color, 0));
ctx.fillStyle = radialGradient;
ctx.beginPath();
if (drawEllipse) {
let rand = getRandomInt(10, 100) / 100;
let xr = radius * rand;
rand = getRandomInt(100, 250) / 100;
let yr = radius * rand;
let rot = getRandomInt(90, 90) * Math.PI/180;
//console.log('xr:',xr + ' |yr:',yr + ' |rot:',rot);
ctx.ellipse(x, y, xr, yr, rot, 0, 2*Math.PI);
} else {
ctx.arc(x, y, radius, 0, 2 * Math.PI);
}
ctx.fill();
ctx.restore();
}
/***************/
function drawBall(ctx, tileId) {
if (!ctx || !tileId) return;
var deferred = new $.Deferred();
let ballSize = Number(options[tileId].size);
let ballColor = options[tileId].color;
let ballOpacity = options[tileId].opacity / 100;
let ballUseGradient = options[tileId].gradient;
let ballGradientColor = options[tileId].gradient_color;
let ballGradientStart = Number(options[tileId].gradient_start) || 5;
let ballGradientStop = Number(options[tileId].gradient_stop) || 25;
let ballGradientPosition = Number(options[tileId].gradient_position) || 20;
let ballBorderWidth = Number(options[tileId].border_width) || 0;
let ballBorderColor = options[tileId].border_color;
let ballBorderSegments = Number(options[tileId].border_segments) || 0;
let ballBorderAltColor = options[tileId].border_alt_color;
if (ballBorderWidth) {
if ((ballBorderWidth >= 1) && (ballSize === 19)) ballSize = 18;
}
if (ballOpacity > 0) {
ballColor = hexToRgbA(ballColor, ballOpacity);
ballGradientColor = hexToRgbA(ballGradientColor, ballOpacity);
}
if (ballUseGradient) {
let gradient = ctx.createRadialGradient(ballGradientPosition,ballGradientPosition,ballGradientStart, ballGradientPosition,ballGradientPosition,ballGradientStop);
gradient.addColorStop(0, ballColor);
gradient.addColorStop(1, ballGradientColor);
ctx.fillStyle = gradient;
} else {
ctx.fillStyle = ballColor;
}
ctx.save();
ctx.beginPath();
ctx.arc(ctx.canvas.width/2, ctx.canvas.width/2, ballSize, 0, Math.PI*2);
ctx.closePath();
ctx.fill();
ctx.restore();
deferred.resolve(null);
return deferred.promise();
}
function drawBorder(ctx, tileId) {
if (!ctx || !tileId || options[tileId].shapes_border === '0') return;
var deferred = new $.Deferred();
let ballBorderWidth = Number(options[tileId].border_width) || 0;
let ballBorderColor = options[tileId].border_color;
let ballBorderSegments = Number(options[tileId].border_segments) || 0;
let ballBorderAltColor = options[tileId].border_alt_color;
if (ballBorderWidth < 1) return;
ctx.lineWidth = ballBorderWidth;
if (ballBorderSegments === 0) ballBorderSegments = 1;
if ((ballBorderSegments > 1) && (ballBorderSegments % 2)) ballBorderSegments++;
let percent = 100 / ballBorderSegments;
let endAngle = Math.PI * 2;
let lastAngle = 0;
for (var i=0; i<ballBorderSegments; i++) {
let color = i % 2 === 0 ? ballBorderColor : ballBorderAltColor;
let currentSegment = endAngle * (percent/100);
let currentAngle = currentSegment + lastAngle;
ctx.beginPath();
ctx.arc(20, 20, (18 - ballBorderWidth / 2 + 0.5), lastAngle, currentAngle, false);
ctx.strokeStyle = color;
ctx.stroke();
ctx.closePath();
lastAngle = lastAngle + currentSegment;
}
deferred.resolve(null);
return deferred.promise();
}
function drawArc(ctx, tileId) {
if (!ctx || !tileId || !options[tileId].shapes_arc) return;
let color = options[tileId].shapes_arc_color || 'white';
let linewidth = Number(options[tileId].shapes_arc_width) || 2;
let position = Number(options[tileId].shapes_arc_position) || 14;
let size = Number(options[tileId].shapes_arc_size) || 4;
var x = 10 * (Math.PI*2/180) * size;
if (options[tileId].shapes_arc_transparent) ctx.globalCompositeOperation = "destination-out";
ctx.strokeStyle = color;
ctx.lineWidth = linewidth;
ctx.beginPath();
ctx.arc(ctx.canvas.width/2, ctx.canvas.height/2, position, 0, x);
ctx.stroke();
ctx.closePath();
if (options[tileId].shapes_arc_transparent) ctx.globalCompositeOperation = "source-over";
}
function drawStar(ctx, target) {
if (!ctx || !target || !options[target].shapes_star) return;
let cx = ctx.canvas.width/2;
let cy = ctx.canvas.height/2;
let color = options[target].shapes_star_color || 'white';
let transparent = options[target].shapes_star_transparent || false;
let border = options[target].shapes_star_border || false;
let border_color = options[target].shapes_star_border_color || '#dddddd';
let border_radius = Number(options[target].shapes_star_border_radius >= 0 ? options[target].shapes_star_border_radius : 14);
let border_linewidth = Number(options[target].shapes_star_border_linewidth >= 0 ? options[target].shapes_star_border_linewidth : 1);
let border_fill = options[target].shapes_star_border_fill || false;
let border_fill_color = options[target].shapes_star_border_fill_color || '#cccccc';
let border_fill_radius = Number(options[target].shapes_star_border_fill_radius >= 0 ? options[target].shapes_star_border_fill_radius : 14);
let border_fill_gradient = options[target].shapes_star_border_fill_gradient || false;
let linewidth = Number(options[target].shapes_star_width >= 0 ? options[target].shapes_star_width : 2);
let spikes = Number(options[target].shapes_star_spikes) || 4;
let innerRadius = Number(options[target].shapes_star_inner >= 0 ? options[target].shapes_star_inner : 5);
let outerRadius = Number(options[target].shapes_star_outer >= 0 ? options[target].shapes_star_outer : 12);
let fill = options[target].shapes_star_fill || false;
let fillColor = options[target].shapes_star_fill_color || 'white';
let rot = Math.PI/2*3;
let x = cx;
let y = cy;
let step = Math.PI/spikes;
if (options[target].shapes_star_transparent) ctx.globalCompositeOperation = "destination-out";
ctx.beginPath();
ctx.moveTo(cx,cy-outerRadius);
for (var i=0; i<spikes; i++){
x = cx+Math.cos(rot)*outerRadius;
y = cy+Math.sin(rot)*outerRadius;
ctx.lineTo(x,y);
rot += step;
x = cx+Math.cos(rot)*innerRadius;
y = cy+Math.sin(rot)*innerRadius;
ctx.lineTo(x,y);
rot += step;
}
ctx.lineTo(cx,cy-outerRadius);
ctx.closePath();
ctx.lineWidth = linewidth;
ctx.strokeStyle = color;
if (linewidth) ctx.stroke();
if (fill) {
ctx.fillStyle = fillColor;
ctx.fill();
}
ctx.closePath();
if (border || border_fill) {
ctx.globalCompositeOperation = "destination-over";
if (border_fill) {
if (border_fill_gradient) {
addLightGlow(ctx, 20, 20, border_fill_radius, border_fill_color, 1, 'destination-over');
} else {
ctx.fillStyle = border_fill_color;
ctx.beginPath();
ctx.arc(20, 20, border_fill_radius, 0, 2*Math.PI);
ctx.fill();
}
}
if (border) {
ctx.strokeStyle = border_color;
ctx.lineWidth = border_linewidth;
ctx.beginPath();
ctx.arc(20, 20, border_radius, 0, 2*Math.PI);
ctx.closePath();
ctx.stroke();
}
ctx.globalCompositeOperation = "source-over";
}
if (options[target].shapes_star_transparent) ctx.globalCompositeOperation = "source-over";
}
function drawBall2(ctx, tileId) {
var d = new $.Deferred();
var p = d.promise();
p
.then(drawBall(ctx, tileId))
.then(drawOverlay(ctx, tileId))
.then(drawBorder(ctx, tileId))
.then(drawArc(ctx, tileId))
.then(drawStar(ctx, tileId));
d.resolve(null);
}
function drawOverlay(ctx, tileId) {
if (!ctx || !tileId || !options[tileId].shapes_overlay) return;
var deferred = new $.Deferred();
let alpha = ((100 - Number(options[tileId].shapes_overlay_transparency) || 0) / 100);
let type = options[tileId].shapes_overlay_type;
if (!type) return;
var overlays = {};
overlays.marble1 = {alpha:0.10, imagedata:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAD15JREFUeNqUWdmrJFf9/5ylTq29d9/bt+/cmXFmkntdIRhiVHABDeRB8uibby74EkSEIMQNUSRPQoTog3+AIORFfFKDYIbE7TqiydzMOMvd+i7dXd21V53Fh0wVCf6i+RU0VHef5nzr+/1+lvNtYozBu7nOzs4AAKPRCPv7+2S5XOLk5IQxxpgxht26dYsyxsjOzg4opSZJEl1VlXJdV/V6PdVut3H58mWzWq1AKUUQBO9qX/6/FhweHoJzjvX1dbzxxhtksVgwy7K44ziW7/siSRJBKbWEEOT1118nYRii3W6bKIqMbdtVt9stkyQpPc+rwjCUo9FIbW5umjiOAeB/BvpfAzw4OMCFCxfw5z//mdy4cYNFUSSEEC4AWyklJpMJn0wmnFLKOp0OHMdBFEXIsgyz2QxFUSjP82S/35ej0ag0xhQAsqIoylarpUajkUnTFJ7nvWMM5J1KfHx8jI2NDbzyyitsuVzaZVm6cRy7lFJxenoq9vb2WKvVohcuXCA7OzvkypUrmM1miKIIxhjkeY7FYmHCMDRRFGlKqep0OmWv1yv7/X7W6/Wy4XBYbG1tqTzP4TjOuw/w4OAAZVmSNE1Zmqa+lNIH4BhjhDGGx3FMX3vtNXL37l2cnZ0Rzjmeeuop7Ozs4F//+hc8z4PjOJBSgjFmpJSIosisViudZZkkhJSO4+SDwSAZj8fJeDxWruuaTqfzv0t89+5dMMaIMYa5rht4ntcqisLTWnPOObMsi0gpSVmWqKoKQgjcv38fL730ErTWmM1mWCwWeP/734+1tTXkeU6UUnBdl/i+T6SUtCxLprW2iqJgR0dHJMuyeDKZKAD/EST7zne+07zZ29sDAEIpZcaYYLFYtLIs87vdrmi324wxRgEQIQSCIIAQAr7vw3VdlGWJ4XAISil++ctfwhiDjY0NJEnSrCOEEAAEAFVKUWMM01oTrTUopdJxHEMIgRDiPzN4584dPPzww7hx4wYTQgRJkrT29/f9+XxuBUFAr169Si5dugTLsqCUgud5cF0Xa2trWF9fx+HhISaTCXq9Hh555BFwzjGfz2GMAWMMAJDnOdI0RZZlxBhDKaWWbdt+EASglCJN03g8Hsu3AocYY7C/v4+trS3s7e2xk5OToKqqNufcr6rKCsOQnp6ekqIosLm5iWvXrmEymdQZgTEGRVEgTVNoreF5HqbTKY6OjtButxHHMbIsw3K5RBRFaLfbKIoCRVEgCAIjhNCWZVW+7ye9Xm81GAzia9euqTiOEQTBmyWeTqeYTqeEUupkWdbe29sLsiwThBDqOA5pt9uglOL09BSHh4dYLBaQUiJNUyRJAkIIPM+DEAJKKViWBUoptNYoyxJSSnDO4TgOtNaI4xh5nmO1WpEkSYjneZQxRhljRgghlVLSdV1YlgV+584dbG9v4/r168zzPHd9fd05PT3lN27coP1+n/R6PSil4Ps+3vOe92C1WuHk5ATz+Ry9Xg+cc5RlCUIIOOdQSqGqKhBCQAiBZVkoigJKKRhjUJYlPM8DYwynp6cAQLrdLrVtm+d57mitXSll6XmeTNMU3Pd9/POf/yRKKVGWpet5nvjQhz7Elssl2dvbg+u6uHz5Ms7Pz5EkCWzbxmAwgFIKACClRJIkyPMcRVFguVyCEIJOpwPLstDtdmHbNtI0RRzHEELAsixUVQXf9+F5HqSUxLIs5jiO4Jy7Usrs5ORE+b5v2HPPPYeyLHlVVUFRFL4xxrZtm3a7XTKfz7FarfDhD38Yg8EAaZpitVqhLEu02230ej0IIcAYA2MMWmsopeA4DgghWCwWdSmxXC6htQYhBIwxGGNACIGUEpZlod/vo9VqEcuyNABFCClHo5FmX/jCF4jrunan0wm01l5RFLyqKiqEQLfbxWw2QxiGsG0bvV4Pnuc1TS6EgG3bTX8FQQDbtmFZFnq9HiilMMaAcw5jDCilzW/LskSWZYjjGJRSDIdDIqWs+1URQso0TRX74he/SDqdjuu6buD7vk0IYWVZ1uQKy7IaIOR5DkIIHMdBVVVIkgRKKUgpQQhp1gNAt9ttkN5ut2HbNgBAKYUkSRDHMbTWcF0Xg8EA7Xa7yS5jTGdZVgIoebfbZb7vW1VVcQB0MBjUfYEoitDr9VBVVaOv8/kcVVVBaw2tNYwxzX2NUiklfN9HbSCyLAMhBA8IGa1W623IbrVaUErVmaaHh4dcSmltbW0xblkW293dFb7v883NTcI5JzVxWpYFQgiUUlgsFiiKAlVVIY7jhvf6/T4sy2rKVRO5MQa2baPT6SAIgua7MAxRlmWjPufn56CUQgiBqqrI0dERmU6nfDwei3a7zfjt27fZvXv3LMdxmOM4ZG1trXla13WbxlZKoSxLcM4hhMD5+TmWyyUAYDAYQGuNJEngui445wjDEEVRYDQaodPpoNfrYTAYYLlcoqoqnJ+f4/XXX0er1Wo8wPHxMZIkIZ1OhyVJYlFKGc+yjBJCyMnJCSzLghACvV7vTZl50G9KKXS73YbPaskKwxBKqbetC8MQ3W4XQggURYHDw0Ocnp6+DVBaa+zu7uLk5ARaa/zjH/9AGIbgnGM4HNZtQzY3NymvqorkeU6KosDBwQGEEHjooYcwHA7BGGs4zXEc+L6Po6MjhGGIIAga3uOcY21trdHbOI6bEtaqUbsfKSWm0ynSNMVwOMTp6WkDFN/3EUURjo+P8ZnPfIZcuHCB8CRJUBRFk73pdIr5fI6trS089NBDCIKgUYkgCNDpdNBqtbCxsYH9/X288cYbWCwWsCyr2STLMmitsVqtMJ/PkWUZLMuC1hphGEJrjdFohCAI4DhOQ0MnJyc4Pj7GeDzGxz72sTft1lNPPSWqqnK73a7odDrUGEOWyyWOjo6QJAmMMbAsC5ZlNfeDwQDj8RiTyQTr6+swxmC5XMJ1XVy4cAFCiAbdy+USSZIgTdMGHIPBoAEPAMRxjDAMsVgs4HkePv/5z+tHHnmk3N/fTzkhRBNCjOd5MMbAGAPXdQEA5+fnOD8/x2QywdWrV9HtdkEpbTR2fX0dg8EAFy9exL1793B0dNRwYB1cfUkp4TgObNsGIaQ5txhj4DgOhBAYj8d44okn8OlPfxo3b940t2/f1lwIoXzfr2zbVv1+nxljyAPP1gDh8PAQeZ4jCAKMRiOsra3Btm0opaCUQhAE2N7exsbGBo6PjxGGIVqtFsqyhDEGrVYLRVE0fMg5x8bGBhzHQZqmcF0XGxsbePTRR/G+973P/P73v1d//etfqw9+8IOKvPjii5wQ0rly5Upvc3PTJYTQB8BBFEUIw7Bp/IODAxBCsLa2ho2NDUwmE7RaLVBKUVUVqqpCWZZYrVaI47gBSFVVyLIMRVGAMYbhcIjBYADbtptjw9raGpIkMX/5y1/03bt3s0996lOL8Xi8JC+++CI5OztrPfroo/2LFy/6UkrOGCN1z9XkXJYlwjDEbDbDarVCnucAgF6vh+FwiHa7Dd/3Gy8IoFGg2hQAAOe8IfOiKJqHCcMQYRiafr8vP/rRjyaLxWJ+7969iAshcHBwUNm2XW5tbTlCCKa1JlJKaK0bp+L7PobDIa5evQqtNfI8b4Ktqgqz2Qzz+bzxgbUS2bYNxhiqqoJS6m1GtqYfIQQmkwk++clPGs/z1O9+97vyj3/8Y/WJT3wC/MknnzS7u7vVn/70p2Jtba38+Mc/zrXWJM/zB2ccNMpS39ejixo0UkqUZdk4ldqV1A6mVqOaDd7qcjqdDrrdLgCYv//97/pXv/pV+corrxSPPfZY9fjjjxv+29/+FoPBQB0cHGS/+c1v3LIsxWOPPUY556Q2AXVQtUkF0AT2VudcZ6v+7K1G4q1XbSwYYwjDENevX8err75qXn75ZXnz5s3y2rVr2Qc+8AF17949cKUUvvSlL5lnnnmmBJD94Q9/EFEUsY985COk3W6TesOagmqaeeurppH69FavY4w1/VibWQBwHAer1QrXr1/H7u4uXnvtNXNwcKAYY2Wv18suXbpUfu5znzO3bt0C/+xnP4tf/OIX8H1fSSkzzrm9u7trnZ2d0YcffphubW2RTqeDuicJIY1k1Tpc62td1tpcaK0RBAE8z0NZlo3hmM1meOmll/Dyyy/j4sWLZjQa6aqqZJqmeZqm2dWrV9XBwQGuXbv25rn45OQEzz77rHn22WcL27aTsizZ3t4emc1m1t7eHi3LktR9uFqtwBhrxL/VajVmdjqdNlRSZ36xWIAxhvX19eY7ALh16xYAmDzPdb/fr3zfTxeLRTKZTIqvfvWr5vbt22+fzXz729/Gd7/7Xfzwhz/khJAgDMOWbdu+UspK05R6nkdmsxnOzs6wtbWFTqeD4XDYkHAcx4iiqOlVpRT6/T4IIbh161bjJ7MsqznQzGYzHUVRtb29nbRarWh3dzf+9a9/LW/evInt7e3/HB5973vfA6WUOI7D8jwP5vN5qygKfzQaWQDo3bt3CSEEly9fRrvdxmAwAOe82bjOKmMMcRyjqqoG6X/7299wcnJSn6/Nzs6O9jyvevXVV5PhcBiNx+O41WqpJ554wjz++OPvPN36/ve/D8dxCCGE3b9/P5jNZq3NzU0vSRIexzF773vfSxhjhHPeyFlZlgDQILkeW9QH+7ovV6uVsSzLSClVFEWy2+2md+7cicIwjC9evKiee+45867ng88//zyZz+fs8PDQJ4T4WmtnMpmIK1eu8Ol0Sh3HIZZlIU1Twhhr7Jrv+w3ihRBYLpcmDEMAMEmS6CiK5KVLl8o8z/MoihKlVDKdTtXPf/7z/zMQ+o6jV87Nt771LbmzsxO3Wq1QSrnM8zyez+ep1rrUWsssy3RVVdoYYzjnxvd9wzk3WmujlDJKKc0Y00IIyTkv0zRNDw8P4zt37izH43E4HA7jH/zgB5Jz/o6D8ncM8Ctf+Qqef/55fO1rX1Pb29vZeDxeHh0dze/fv790HGellEqSJMm01qVt29J1Xck5l8YYKaWUSimplCqNMRkhJKmqaiWlXHLO54vFYnl2dpY9/fTT6pvf/CZ+9rOf/f9HwPX1ox/9CN1uF1/+8pfxzDPPEK01m0wmPEkSK8syMRwOxWAwsCilRGtNHng9Y1mWEUJUeZ6XcRyXRVFU8/lczudz9dOf/tQAwI9//GM8/fTT/3V/8m7/hnjhhRcQRRG+8Y1v4Cc/+QmJogh5nrPRaMRGoxGTUtIHcz88mFJpACrPc5VlmSqKAl//+tdNXZ0XXnjhXe377wEAmdQzpQDntgMAAAAASUVORK5CYII='}; //by Professor Tag
overlays.marble2 = {alpha:0.35, imagedata:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAQAAAAm93DmAAAALHRFWHRDcmVhdGlvbiBUaW1lAFNhdCAyMSBKYW4gMjAxNyAyMDoyOToxNyArMTIwMNKOm6MAAAAHdElNRQfhARUHIANCqY8HAAAACXBIWXMAAAsSAAALEgHS3X78AAAABGdBTUEAALGPC/xhBQAABgBJREFUeNq9Vk1v3FQUvfNsj2ccz0dC0ybQNhBahFSgalggNl0BCqJIbFAl/gQif4EdGzaIDf+BVStV6g4hQRetqETpoqhVU5SEZNIZj2c843keD+cem6ZV6QcSwtZ4/J7fO+/ce8+974n8x1flaR+vtmsr1cU07IVx4Ekr+XmwE9d25jY34n8N+GNQX3NWTSOUXLqSiitD/P+G56IE0unKrcb1LybPCXjVMadHa00/kzlApZKJL1O5J7dlTxI5LPOAthIk5op38/PZMwGjdvdc1hpLKCPA9DC1DsB9uSs7AB+D3zxYj8VBf7gbXvw0eSpgctyuW6+PqZ5EmKijfbT2pCMDtIVtH285niF41i98sPdEwNmp3lnX9ADjw6whPJeB4RRsBO0tvHl4s3gu4tfH90B8m17+5M4Bhjl4vXdczrZNCJMMGKWcbHBX8LO4Z3zm6K9LDU9PFqQljjd6/9tD/wA4a3vrfTMB1I7cFzVaYVICpeCcEMpBrwv+Hn8e3uFPL/3om+BvHLcMhSPnFr0tgO0gGAYchupRmJzTyJjtOls5HaFcEgQn0UVDuy7fP8LQnJaWkaMwYQnTHLi7i3uECVYmhJuhP2MwBL7U2wAq4qipjJe/PPkQ4L3AWSuaR+Q1eZmQMc3OAFSwdGCgBshllNV09XGKUQn6MzHvfu08ADRrGIPOjKAL7HQwMMZvxCirFlUwFYIX0sjBXX08wr8rXsO8cQC4mhLMcpjQ+QF01+P6Gh7lpBljCDDGrSLv4ZnLjMtDs6+UgLP2UkNlvIXp2jHC5w7WTOCfbQRpSiFbmuiCXYr+PYAN6MM+Fppg1kSc5e88AmYrAMVAH7lbmGIokXnKZoSAjNinHpswHDmZDgGZUakOZkOtpn60MHkxpzlHpIqhPYCryhoIji1FM+U0BVK4wtMq80GZRUXcsewydZiHfRgRkl9K76gO1cAagJuQkk+4KcEtA5MSRMNTpRYstWCbBLThhG6WEjLl577sImObWKiGqSk1MAYnQbhcxt5wIYeMCzdNGwSsB2r3PgEq9JplBkQQuQc4/ZqVAhHWGF2gcMCYDKtsiQwKhnAmJmrU7mO4LXPSlxcAlmNwlV4c8EsAzg7fKoRVDU4wIiPksFLkciKNKUXSQHeFEtayqrmQYnoTg1wAjtFWB0wAk7FkSLl8BS1NSjcm4FZfdahTpwzCPvkZTOoha2oMxzx6FijyCN+TUl5quMUiMywy0+SMCJglKTPVlzch4wEdHLMKtlmzHQTLI58Y3CLmboUyqZJXTnVqtmR96tD/sw8gi467cgd+1Hip+5ckYDi0xA7BqwvGES1xyMxlIAy4FZKCVdsErN+NZJMF/QYmaHWJy5hOCefhv4NdbwdvLTlE83ViwKdXStuTIHf/IGCr58QZZRyie8jdxGf5dCiZnPAq9kVZQc30uaccBgHDqu0xLEjc7Q1bVpu52yEhtOIV5d+hZH2KQAURyLIcw4IqJezJcgKJWeWIOoHV4MadB1vA3jX7uvFTOrbCLC0qtWBSwOwxBM+YYNg8wa9LM12MUD+DYdz89UE9fCvpXtNCUOd6eqnxmisuvBaAo1aWkYRUwIu4LU8PCufjp8D+T+enD+8p152oDiYt3CnMGkAqTZ4YIiwicEQhJxegqxij9VBr4JiLI97bG7ce2aQ+nAYXRnYe+ZzKS+CkAVnCHbK0hnibYx3y8U0LbJ9CmVFAyJ6Be+mxffmdXvXSKN8F/ROsjAF4aAQ1xiEWUVUacK8COAK3nH6tw46T9tWLXyWPAYqc2ez84OXHIYkWvNTkxJwSFrQWoL+gFP2UvvOQ+4Es2MOXP+scoLgPn23eu/FLfGw99XxE0eMG5JdZm1NUfrkva5EoNi6TNC+cevJhqTiS7J8btgwLWUIf5TBUWBhmHN7hNqFLVHfNxY+ffpzTa9cZnTZrrj8BSJ2cPBZcB8ZqxPWc2BSbZFeO3Dzz7ANncW0H2dr+qm2E5ZGuUKEhIBK2e/RWev3t5z0SH1w3252VYNk28ma/hvPq2I9qvWj7983zsfx/118iMqLtndczlgAAAABJRU5ErkJggg=='};
overlays.earth1 = {alpha:0.30, imagedata:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAB3RJTUUH4QEVFzkMVTCY/gAAAAlwSFlzAAALEwAACxMBAJqcGAAAAARnQU1BAACxjwv8YQUAAASiSURBVHja1VhpTxRBEC0QdBcQBOT24PK+NUZRE4/EaPy3fvCrH4wXKsSgJAqIGEHlEgSP9QCsR79m22F6tmfVRCt5WZjp7npdXVePyD8uG4qcV68oU3wvMK5bcUpRzbGf/zbBrKJOcVHRpFhSLChWPON3Kxo5p0OxnUQX/jTBjKJTUa5oVtSQbJuiQjHhWfu4GEtb2aTYpmhVzCu+/AmCsMJWjp1RTCteKHZSeU7xKmZeDeeWeE6iXfFN8T5JeZkkSw2tk6OlDtKKtxR9ijOKUmd8CS0E5Y0ecpBPiru0IuYvF0vwA39rqQy/Q7RmJ99tdMidFeObUDqmGFSc5glYgd/edtaG/zbwdNb5ciGCwsXPc5ejikXFBTGOb63cwF8Qvy7GT3vEBEVUx4BDzsoiN7VUDMFWKgbg1JN8jqPsouXO81mv4oeiks/t+rDMd1p7lmu5ZHI+5SFBAkJvabEBEoAPIVV0k4hFq+R90BWM71fs4DogNx+gOzjNfCFJNy0s0VJbnGc4pmxkLiyHgEK0NpDom0C9qRK1WzV20RrDtGIhHbBqjuPnUugM8sE4KSWx1hTjoSvoWKO7SyPIhT2S972NgfMeiolUZIL9JLoUMtESLJeEZElBmbosJhemERC5T4LXxORJRP8c3zXyXSLBdinsG6gizSnJQXC8lTQAAu21mJPoIjnkWWSGjxKTqC3BQ2JqbLR9quWYHRxTjKDe3hFzrIvEPIktctNoOqYkph2zQVJFKw6TJHZ9jpOR9SekOFnhmtFEDII3+Xcfx8W2bLbQo53aozjK/5slf5wIhJYiCb4UU4995IFlD7kKlyCOsZxWzNDc2Pkd/r9MSya2RjEyW+TGIDUuQbsDpI4rYnq9x2IcF10GWny4QTadjoJXAp/Ytm2NoLsQ0skJxVUx0WfLEqI8J/72Pk5S30HE1OpLQreyUQyLZSIDQRTRixQAP3qqGFE857OmAGUIwvGUBDeTC+aOWoK2n4sT3MhssyC0II59kotVJCjDmsvcUBX1fJLkogCrI+euZg9LMCv+SMViT2T9cX0mcTSlvtZeJF85cKvbRowkjD/MMbj3zFkffJcwATuZ9rzDvBuKZxIeEPBrXw+wl4CsNsaWIDK6r9ThGMsTFMKKAyQa0gBAp69ktvEX6eyjSxAy6pkEZz0SoLhawrsjX5uGDa64XFyCY+K/SOMG11VA6a5AckmCDeI01u7ZLkGwH0yYfEzMcccJrNwm4TIT8wwpDXl2SBxXKY0MQu30BQTGtnveNcaslSQNkf+R91Ac4Hu/FILoonj5QEyLFCeZmGdIC+dSkINEm9591L3uE0rcrpFI70l8Mo2WOfhMR0pykM2SD6haroFPIetKoy/q7L0XfuUmYVSTKUcJ/LJO0gvWhL/hyoqjfSSeXJyUFkAQPtHijIOP2g8+B4q0nhWsi666V/JlNBVBCJLlOK2EmjtC6+Jm1/4b5CCIZHwlS7wLhSRWBMwYf+EjOJqTki5qXfkqJtf1iz8Y1yT04m7vFnYOrFidkhhcZpT4ETqpJHRgjMDB0anUkyxSkK3ZaBxyJIW2H4U/9VeF/0J+AgBDBp2zseZgAAAAAElFTkSuQmCC'};
overlays.earth2 = {alpha:0.52, imagedata:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAB3RJTUUH4QEVFzEWYIvrjAAAAAlwSFlzAAAHgQAAB4EB3flQ2AAAAARnQU1BAACxjwv8YQUAAAZzSURBVHja3ZhbSFVpFMfXd9K0PF6orDTMvGFNZYqVlYphRIFPFQkR3R4i6ALdHroQ9FD0VBQRURC9dAGxoCKqBwvDCoMcNZxuXtLKppzK0SxpdK9Z/+3ee845Hs/ZO8/AMAsWHPfefvu31/37iP7joobxvzGi8aJxom7RSNEw417f7Nmze9PS0rqjoqI6t2zZ8kdubm7Xz7wkzOHz4aKTDY0a8qHw8LDp06dHrVmzxr1o0aLEy5cvc3Fx8deKioq3crtVKdUXagviuVTRdAMyqIwfP54PHDjAmzdvdonQu3fveNKkSVjnL9FXoi0CysHWcdl4V7Rooeg0O3AAW7p0KYu1iJnp+vXrGq4bcKYXfhEtkPvu4QJOFM2ngXjzKyNGjKCdO3dqu3bt0sS1fO3aNbp165aaMWOGamlpocWLFw/lpVgDcmIggEAxmCSaRUHCoL+/nzo7O+no0aNKfvPr169Ve3u7bsHHjx+TJEmg/8f7cwWyTtz91t8DQ/0zvio3GJwpcCmsht9nz55lTdN4yZIlKiUlxW6MIxafCOTvdgARc/nkIMNnzZql1dbW2onnQILMrhLIr54XfRcFcI4TuMjISD5//vxw6qkpeGeOuNtrLS9AKQcoJTF2VkNCzJs3j+/fv0+VlZVBy4VNQeKk+AUU8vC1a9emmX9PnTqVd+zY4fViMT/t3r2bN27cqDU1NdGjR4/UnDlz1Pbt24frXk/JEBbLg54LT46Pj9frnLQovnHjBh07dkwlJydbkG63m6Vt0YYNG1RSUpLuir6+PhbAUFkQYnarwYBv3rwhAN25c4fS09N1gIMHD1ov7+7uVlLvaP78+VacwJK9vb0M0BBCegOKSRF3Ud++faNt27bBghbA+vXrXUVFRVpCQoIO0Nra6rVSZmammjt3Lp8+fVoLIaBbmKI9LRhv3ikpKfF68vv377xp0yZ19epVlBM+d+7coNWkjWEd/vLlSyitGO8JiJGJJPjZ10I/fvyghoYGFiuphw8fAtKybmNjow6UmppKFy9edNXX14eQb4DJBNSbtoxESsYk6wmJOb558yasqM6cOcOjR4+24MrKynjBggX07NkzzsjIUNKDlYRCKOqhKbqLzXTGsEkAEP3niehoJb2VP3z4YLpOffz4EYWZ9u/frxITE9lMpgkTJqjPnz+zZLoaOXJkKAAjPAGH7Bx79uxRsNTYsWN1yEOHDtHJkyd1KIGhffv29Uv2o/y42tralEzOjDFLkori4uKGY9HwgGCmYNhEZguAysvLw1ilqqqqMLXQkSNHSFyvYL3CwkKXxKgm97SOjg6XjFqqp6cHFqUVK1YQ3B8REeGY0tpDUIBhdPXq1er58+ccGxuLOqlqamowYrG8UOEDXr58qVs3JycHHxGGmoiEuXTpEh0/flzJhEMoRYjncePG2bUqJu+BaUZcUkRGUAYSJAZiUiYXlCNeuHChnmTiSn1wRR0dM2aMBYCYlM0TizVdkoA8c+ZMHdgmYLe01koTELNfghPTYziVfQaJO3nKlCkoQSxuVr5xJ9ake/fuMSbrU6dOMWppQUGBnd7dLoA1JiCGhGlOAIcSqaO8detW/feJEydQI5VkvHb48GGnA8VvAthsxmDHcAFlxGckk5QmjPoqJiaGMf1AkEjZ2dm8cuVKJ1kNpoFCLQthU93zs3BSpLm0tBRFWwEO17q6uhRibtWqVfzp0ye9VTqQr8LUrbOZV37GzQ8ePOArV67QhQsXEIsBrYMkkj7O69ats2NF3b2+gCgzxWRzY15dXc35+fnYydn+IMlwfvHiRbBSg/JSYZ4+WIErF3Cj0e7LZMzSv8s2HellR/mbhnzklefRiG9mway2DnlQThB3TiUrKyvQ7T9FWzwvDDK1MSja2nZKwWZ0D/yW7OVly5aRZCu9f/9e3y7gumcIyH0uLy/Xu48psocm42+/206/sWAcRwTduGOYRTuTWCS0QRkQrOclm7W9e/equ3fvKsNyLEmFAcNrzdu3b2uy8cc12xt3E9LW0UcgaW5u1vc3snfG6YPXB8CyT58+1ZDdUo7qnR59eFoym5yfI1oiWcuYyJcvX275ta6uDpM72p82atSoWn+WswVoQCImcdpga0NvRzBESMlBMv7qG3OOAQ1IxweYAcTRAaaj+DJ2/MkU5Ah4CEErbaN/6QjYH2zAQ3TRXlG4r1O0w+j3/z/5GxmCsmaKCpgSAAAAAElFTkSuQmCC'};
overlays.custom = {alpha:0.50, imagedata:options[tileId].shapes_overlay_base64};
if (!overlays.hasOwnProperty(type)) return;
//var ballSize = Number(options[tileId].Size)*2;
//var offset = (40 - ballSize) / 2;
var img = new Image();
img.onload = function() {
var overlay = document.createElement("canvas");
overlay.width = 40;
overlay.height = 40;
var overlayCtx = overlay.getContext("2d");
overlayCtx.globalAlpha = alpha;
overlayCtx.drawImage(img, 0, 0);
ctx.globalCompositeOperation = "source-atop";
ctx.drawImage(overlay, 0, 0);
ctx.globalCompositeOperation = "source-over";
overlay = null;
deferred.resolve(null);
return deferred.promise();
};
img.src = overlays[type].imagedata;
}
/* Helper functions... */
function hexToRgb(hex) {
return (hex.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (m, r, g, b) => '#' + r + r + g + g + b + b)
.substring(1).match(/.{2}/g)
.map(x => parseInt(x, 16)) );
}
function hexToRgbA(hex, alpha=1){
if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {
var c = hex.substring(1).split('');
if (c.length === 3) c = [c[0], c[0], c[1], c[1], c[2], c[2]];
c = '0x' + c.join('');
if (!$.isNumeric(alpha) || (alpha < 0) || (alpha > 1)) alpha = 1;
return 'rgba(' + [(c>>16)&255, (c>>8)&255, c&255].join(', ') + ', ' + alpha + ')';
}
}
function rgbToHex(r, g, b) {
return "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
}
function colorLuminance(hex, lum) {
hex = String(hex).replace(/[^0-9a-f]/gi, '');
if (hex.length < 6) {
hex = hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];
}
lum = lum || 0;
var rgb = "#", c, i;
for (let i = 0; i < 3; i++) {
c = parseInt(hex.substr(i*2,2), 16);
c = Math.round(Math.min(Math.max(0, c + (c * lum)), 255)).toString(16);
rgb += ("00"+c).substr(c.length);
}
return rgb;
}
function randColor() {
var color = (function lol(m, s, c) {
return s[m.floor(m.random() * s.length)] +
(c && lol(m, s, c - 1));
})(Math, '23', 4);
return '#' + color;
}
/**
* Set tint of a given canvas element.
* @param {HTMLElement} image - Canvas element holding the image to tint.
* @param {string} [color="#000000"] - Color string to tint the tiles, like "#FF0000".
* @param {number} [opacity="0.01"] - How much to preserve the original image.
**/
function setTint(image, color, opacity, desaturate=false, globalCompositeOperation="destination-atop", filter='') {
if (desaturate && color) {
let ctx = image.getContext("2d");
let buffer = ctx.getImageData(0, 0, image.width, image.height);
let ca = hexToRgb(color);
let gray;
for (var i=0; i<buffer.data.length; i+=4) {
if (buffer.data[i + 3]) { //only tint if the alpha > 0
gray = ( Math.max(buffer.data[i], buffer.data[i+1], buffer.data[i+2]) + Math.min(buffer.data[i], buffer.data[i+1], buffer.data[i+2]) ) / 2; //simple desaturation
//gray = Math.max(buffer.data[i], buffer.data[i+1], buffer.data[i+2]); //simple decomposition
//gray = (0.3 * buffer.data[i] + 0.59 * buffer.data[i + 1] + 0.11 * buffer.data[i + 2]); //simple brightness
if (ca[0]) buffer.data[i] = gray + ca[0]; /// add R
if (ca[1]) buffer.data[i + 1] = gray + ca[1]; /// add G
if (ca[2]) buffer.data[i + 2] = gray + ca[2]; /// add B
}
}
ctx.putImageData(buffer, 0, 0);
} else {
// Adapted from: http://stackoverflow.com/a/4231508/1698058
let imageCtx = image.getContext("2d");
let tint;
imageCtx.save();
if (color && opacity) {
tint = document.createElement("canvas");
tint.width = image.width;
tint.height = image.height;
let tintCtx = tint.getContext("2d");
tintCtx.fillStyle = hexToRgbA(color || "#000000", opacity);
tintCtx.fillRect(0, 0, tint.width, tint.height);
tintCtx.globalCompositeOperation = globalCompositeOperation; //destination-atop
tintCtx.drawImage(image, 0, 0);
}
if (filter) imageCtx.filter = filter;
if (color && opacity) {
imageCtx.drawImage(tint, 0, 0);
tint = null;
} else {
imageCtx.drawImage(image, 0, 0);
}
imageCtx.restore();
}
}
function roundedRect(ctx, x, y, width, height, radius, stroke, fill) {
ctx.save();
ctx.beginPath();
ctx.moveTo(x+radius,y);
ctx.arcTo(x+width,y,x+width,y+radius,radius);
ctx.arcTo(x+width,y+height,x+width-radius,y+height,radius);
ctx.arcTo(x,y+height,x,y+height-radius,radius);
ctx.arcTo(x,y,x+radius,y,radius);
if (stroke) ctx.stroke();
if (fill) ctx.fill();
ctx.restore();
}
function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; }
function getBackgroundCSSValue(backgroundType, c1='', c2='', gradientType='', size='') {
let backgroundCSS;
if (backgroundType === 'none') {
backgroundCSS = { 'background': '#000 url("/images/background.jpg") center center / cover no-repeat' };
} else if (backgroundType === 'color') {
backgroundCSS = { 'background': c1 };
} else if (backgroundType === 'gradient') {
if (gradientType === 'vertical') {
backgroundCSS = { 'background': `linear-gradient(${c1}, ${c2}, ${c1})` };
} else if (gradientType === 'horizontal') {
backgroundCSS = { 'background': `linear-gradient(to right, ${c1}, ${c2}, ${c1})` };
} else if (gradientType === 'circle' || gradientType === 'ellipse') {
backgroundCSS = { 'background': `radial-gradient(${gradientType}, ${c1} 45%, ${c2})` };
} else if (gradientType === 'team') {
backgroundCSS = { 'background': `linear-gradient(${size}deg, ${c1}, ${c2})` };
//these ones are from here: http://lea.verou.me/css3patterns
} else if (gradientType === 'bricks') {
let b = colorLuminance(c1, 0.2);
backgroundCSS = { 'background': `linear-gradient(135deg, ${c1} 22px, ${b} 22px, ${b} 24px, transparent 24px, transparent 67px, ${b} 67px, ${b} 69px, transparent 69px), linear-gradient(225deg, ${c1} 22px, ${b} 22px, ${b} 24px, transparent 24px, transparent 67px, ${b} 67px, ${b} 69px, transparent 69px)0 64px`,
'background-color': c1,
'background-size': '64px 128px' };
} else if (gradientType === 'rainbowbokeh') {
backgroundCSS = { 'background': 'radial-gradient(rgba(255,255,255,0) 0, rgba(255,255,255,.15) 30%, rgba(255,255,255,.3) 32%, rgba(255,255,255,0) 33%) 0 0, radial-gradient(rgba(255,255,255,0) 0, rgba(255,255,255,.1) 11%, rgba(255,255,255,.3) 13%, rgba(255,255,255,0) 14%) 0 0, radial-gradient(rgba(255,255,255,0) 0, rgba(255,255,255,.2) 17%, rgba(255,255,255,.43) 19%, rgba(255,255,255,0) 20%) 0 110px, radial-gradient(rgba(255,255,255,0) 0, rgba(255,255,255,.2) 11%, rgba(255,255,255,.4) 13%, rgba(255,255,255,0) 14%) -130px -170px, radial-gradient(rgba(255,255,255,0) 0, rgba(255,255,255,.2) 11%, rgba(255,255,255,.4) 13%, rgba(255,255,255,0) 14%) 130px 370px, radial-gradient(rgba(255,255,255,0) 0, rgba(255,255,255,.1) 11%, rgba(255,255,255,.2) 13%, rgba(255,255,255,0) 14%) 0 0, linear-gradient(45deg, #343702 0%, #184500 20%, #187546 30%, #006782 40%, #0b1284 50%, #760ea1 60%, #83096e 70%, #840b2a 80%, #b13e12 90%, #e27412 100%)',
'background-size': '470px 470px, 970px 970px, 410px 410px, 610px 610px, 530px 530px, 730px 730px, 100% 100%',
'background-color': '#840b2a' };
} else if (gradientType === 'carbon') {
backgroundCSS = { 'background': 'linear-gradient(27deg, #151515 5px, transparent 5px) 0 5px, linear-gradient(207deg, #151515 5px, transparent 5px) 10px 0px, linear-gradient(27deg, #222 5px, transparent 5px) 0px 10px, linear-gradient(207deg, #222 5px, transparent 5px) 10px 5px, linear-gradient(90deg, #1b1b1b 10px, transparent 10px), linear-gradient(#1d1d1d 25%, #1a1a1a 25%, #1a1a1a 50%, transparent 50%, transparent 75%, #242424 75%, #242424)',
'background-color': '#131313',
'background-size': '20px 20px' };
} else if (gradientType === 'carbonfibre') {
backgroundCSS = { 'background': 'radial-gradient(black 15%, transparent 16%) 0 0, radial-gradient(black 15%, transparent 16%) 8px 8px, radial-gradient(rgba(255,255,255,.1) 15%, transparent 20%) 0 1px, radial-gradient(rgba(255,255,255,.1) 15%, transparent 20%) 8px 9px',
'background-color':'#282828',
'background-size':'16px 16px' };
} else if (gradientType === 'honeycomb') {
let b = colorLuminance(c1, 0.2);
backgroundCSS = { 'background': `radial-gradient(circle farthest-side at 0% 50%,${c1} 23.5%,rgba(240,166,17,0) 0)21px 30px, radial-gradient(circle farthest-side at 0% 50%,${b} 24%,rgba(240,166,17,0) 0)19px 30px, linear-gradient(${c1} 14%,rgba(240,166,17,0) 0, rgba(240,166,17,0) 85%,${c1} 0)0 0, linear-gradient(150deg,${c1} 24%,${b} 0,${b} 26%,rgba(240,166,17,0) 0,rgba(240,166,17,0) 74%,${b} 0,${b} 76%,${c1} 0)0 0, linear-gradient(30deg,${c1} 24%,${b} 0,${b} 26%,rgba(240,166,17,0) 0,rgba(240,166,17,0) 74%,${b} 0,${b} 76%,${c1} 0)0 0, linear-gradient(90deg,${b} 2%,${c1} 0,${c1} 98%,${b} 0%)0 0 ${c1}`,
'background-size': '40px 60px' };
} else if (gradientType === 'yinyang') {
let b = colorLuminance(c1, 0.2);
let bb = hexToRgbA(b, 0);
let c = colorLuminance(c1, 0.5);
let cc = hexToRgbA(c, 0);
backgroundCSS = { 'background': `radial-gradient(circle at 50% 59%, ${b} 3%, ${c} 4%, ${c} 11%, ${cc} 12%, ${cc}) 50px 0, radial-gradient(circle at 50% 41%, ${c} 3%, ${c} 4%, ${b} 11%, ${cc} 12%, ${cc}) 50px 0, radial-gradient(circle at 50% 59%, ${b} 3%, ${c} 4%, ${c} 11%, ${cc} 12%, ${cc}) 0 50px, radial-gradient(circle at 50% 41%, ${c} 3%, ${b} 4%, ${b} 11%, ${bb} 12%, ${bb}) 0 50px, radial-gradient(circle at 100% 50%, ${b} 16%, ${bb} 17%), radial-gradient(circle at 0% 50%, ${c} 16%, ${cc} 17%), radial-gradient(circle at 100% 50%, ${b} 16%, ${bb} 17%) 50px 50px, radial-gradient(circle at 0% 50%, ${c} 16%, ${cc} 17%) 50px 50px`,
'background-color': c1,
'background-size': '100px 100px' };
} else if (gradientType === 'cubes') {
let b = colorLuminance(c1, 0.2);
let c = colorLuminance(c1, 0.5);
backgroundCSS = { 'background-image': `linear-gradient(30deg, ${c1} 12%, transparent 12.5%, transparent 87%, ${c1} 87.5%, ${c1}), linear-gradient(150deg, ${c1} 12%, transparent 12.5%, transparent 87%, ${c1} 87.5%, ${c1}), linear-gradient(30deg, ${c1} 12%, transparent 12.5%, transparent 87%, ${c1} 87.5%, ${c1}), linear-gradient(150deg, ${c1} 12%, transparent 12.5%, transparent 87%, ${c1} 87.5%, ${c1}), linear-gradient(60deg, ${c} 25%, transparent 25.5%, transparent 75%, ${c} 75%, ${c}), linear-gradient(60deg, ${c} 25%, transparent 25.5%, transparent 75%, ${c} 75%, ${c})`,
'background-color': b,
'background-size': '80px 140px',
'background-position': '0 0, 0 0, 40px 70px, 40px 70px, 0 0, 40px 70px' };
} else if (gradientType === 'tablecloth') {
let cc = hexToRgbA(c1, 0.5);
backgroundCSS = { 'background-color': c2,
'background-image': `linear-gradient(90deg, ${cc} 50%, transparent 50%), linear-gradient(${cc} 50%, transparent 50%)`,
'background-size': '50px 50px' };
} else if (gradientType === 'gridpaper') {
let cc1 = hexToRgbA(c2, 0.8);
let cc2 = hexToRgbA(c2, 0.3);
backgroundCSS = { 'background-color': c1,
'background-image': `linear-gradient(${cc1} 2px, transparent 2px), linear-gradient(90deg, ${cc1} 2px, transparent 2px), linear-gradient(${cc2} 1px, transparent 1px), linear-gradient(90deg, ${cc2} 1px, transparent 1px)`,
'background-size': '100px 100px, 100px 100px, 20px 20px, 20px 20px',
'background-position': '-2px -2px, -2px -2px, -1px -1px, -1px -1px' };
} else if (gradientType === 'starrynight') {
let cc = hexToRgbA(c1, 0.5);
backgroundCSS = { 'background-color': c1,
'background-image': 'radial-gradient(white, rgba(255,255,255,.2) 2px, transparent 40px), radial-gradient(white, rgba(255,255,255,.15) 1px, transparent 30px), radial-gradient(white, rgba(255,255,255,.1) 2px, transparent 40px), radial-gradient(rgba(255,255,255,.4), rgba(255,255,255,.1) 2px, transparent 30px)',
'background-size': '550px 550px, 350px 350px, 250px 250px, 150px 150px',
'background-position': '0 0, 40px 60px, 130px 270px, 70px 100px' };
}
}
return backgroundCSS;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment