diff --git a/splash_screen/arrow.svg b/splash_screen/arrow.svg index 062cb0b66..064617ede 100644 --- a/splash_screen/arrow.svg +++ b/splash_screen/arrow.svg @@ -2,12 +2,12 @@ + inkscape:current-layer="layer1"> + + + + + diff --git a/splash_screen/backgrounds/droppedbeat_meteor_rain.gdshader b/splash_screen/backgrounds/droppedbeat_meteor_rain.gdshader new file mode 100644 index 000000000..5e3f3524f --- /dev/null +++ b/splash_screen/backgrounds/droppedbeat_meteor_rain.gdshader @@ -0,0 +1,401 @@ +shader_type canvas_item; + +render_mode unshaded, blend_mix; + +uniform vec3 uv1_scale = vec3(1.0, 1.0, 1.0); +uniform vec3 uv1_offset = vec3(0.0, 0.0, 0.0); +uniform float variation = 0.0; +varying float elapsed_time; +void vertex() { + elapsed_time = TIME; + UV = UV*uv1_scale.xy+uv1_offset.xy; +} +float rand(vec2 x) { + return fract(cos(mod(dot(x, vec2(13.9898, 8.141)), 3.14)) * 43758.5453); +} +vec2 rand2(vec2 x) { + return fract(cos(mod(vec2(dot(x, vec2(13.9898, 8.141)), + dot(x, vec2(3.4562, 17.398))), vec2(3.14))) * 43758.5453); +} +vec3 rand3(vec2 x) { + return fract(cos(mod(vec3(dot(x, vec2(13.9898, 8.141)), + dot(x, vec2(3.4562, 17.398)), + dot(x, vec2(13.254, 5.867))), vec3(3.14))) * 43758.5453); +} +float param_rnd(float minimum, float maximum, float seed) { + return minimum+(maximum-minimum)*rand(vec2(seed)); +} +vec3 rgb2hsv(vec3 c) { + vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy); + vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx); + float d = q.x - min(q.w, q.y); + float e = 1.0e-10; + return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} +vec3 hsv2rgb(vec3 c) { + vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} +vec2 scale(vec2 uv, vec2 center, vec2 scale) { + uv -= center; + uv /= scale; + uv += center; + return uv; +} +vec2 rotate(vec2 uv, float rotate) { + vec2 rv; + rv.x = cos(rotate)*uv.x + sin(rotate)*uv.y; + rv.y = -sin(rotate)*uv.x + cos(rotate)*uv.y; + return rv; +} +float shape_circle(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float distance = length(uv); + return clamp((1.0-distance/size)/edge, 0.0, 1.0); +} +float shape_polygon(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float angle = atan(uv.x, uv.y)+3.14159265359; + float slice = 6.28318530718/sides; + return clamp((1.0-(cos(floor(0.5+angle/slice)*slice-angle)*length(uv))/size)/edge, 0.0, 1.0); +} +float shape_star(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float angle = atan(uv.x, uv.y); + float slice = 6.28318530718/sides; + return clamp((1.0-(cos(floor(angle*sides/6.28318530718-0.5+2.0*step(fract(angle*sides/6.28318530718), 0.5))*slice-angle)*length(uv))/size)/edge, 0.0, 1.0); +} +float shape_curved_star(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float angle = 2.0*(atan(uv.x, uv.y)+3.14159265359); + float slice = 6.28318530718/sides; + return clamp((1.0-cos(floor(0.5+0.5*angle/slice)*2.0*slice-angle)*length(uv)/size)/edge, 0.0, 1.0); +} +float shape_rays(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = 0.5*max(edge, 1.0e-8)*size; + float slice = 6.28318530718/sides; + float angle = mod(atan(uv.x, uv.y)+3.14159265359, slice)/slice; + return clamp(min((size-angle)/edge, angle/edge), 0.0, 1.0); +} +vec3 blend_normal(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*c1 + (1.0-opacity)*c2; +} +vec3 blend_dissolve(vec2 uv, vec3 c1, vec3 c2, float opacity) { + if (rand(uv) < opacity) { + return c1; + } else { + return c2; + } +} +vec3 blend_multiply(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*c1*c2 + (1.0-opacity)*c2; +} +vec3 blend_screen(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*(1.0-(1.0-c1)*(1.0-c2)) + (1.0-opacity)*c2; +} +float blend_overlay_f(float c1, float c2) { + return (c1 < 0.5) ? (2.0*c1*c2) : (1.0-2.0*(1.0-c1)*(1.0-c2)); +} +vec3 blend_overlay(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_overlay_f(c1.x, c2.x), blend_overlay_f(c1.y, c2.y), blend_overlay_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +vec3 blend_hard_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*0.5*(c1*c2+blend_overlay(uv, c1, c2, 1.0)) + (1.0-opacity)*c2; +} +float blend_soft_light_f(float c1, float c2) { + return (c2 < 0.5) ? (2.0*c1*c2+c1*c1*(1.0-2.0*c2)) : 2.0*c1*(1.0-c2)+sqrt(c1)*(2.0*c2-1.0); +} +vec3 blend_soft_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_soft_light_f(c1.x, c2.x), blend_soft_light_f(c1.y, c2.y), blend_soft_light_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_burn_f(float c1, float c2) { + return (c1==0.0)?c1:max((1.0-((1.0-c2)/c1)),0.0); +} +vec3 blend_burn(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_burn_f(c1.x, c2.x), blend_burn_f(c1.y, c2.y), blend_burn_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_dodge_f(float c1, float c2) { + return (c1==1.0)?c1:min(c2/(1.0-c1),1.0); +} +vec3 blend_dodge(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_dodge_f(c1.x, c2.x), blend_dodge_f(c1.y, c2.y), blend_dodge_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +vec3 blend_lighten(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*max(c1, c2) + (1.0-opacity)*c2; +} +vec3 blend_darken(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*min(c1, c2) + (1.0-opacity)*c2; +} +vec3 blend_difference(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*clamp(c2-c1, vec3(0.0), vec3(1.0)) + (1.0-opacity)*c2; +} +vec3 blend_additive(vec2 uv, vec3 c1, vec3 c2, float oppacity) { + return c2 + c1 * oppacity; +} +vec3 blend_addsub(vec2 uv, vec3 c1, vec3 c2, float oppacity) { + return c2 + (c1 - .5) * 2.0 * oppacity; +} +float blend_linear_light_f(float c1, float c2) { + return (c1 + 2.0 * c2) - 1.0; +} +vec3 blend_linear_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { +return opacity*vec3(blend_linear_light_f(c1.x, c2.x), blend_linear_light_f(c1.y, c2.y), blend_linear_light_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_vivid_light_f(float c1, float c2) { + return (c1 < 0.5) ? 1.0 - (1.0 - c2) / (2.0 * c1) : c2 / (2.0 * (1.0 - c1)); +} +vec3 blend_vivid_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_vivid_light_f(c1.x, c2.x), blend_vivid_light_f(c1.y, c2.y), blend_vivid_light_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_pin_light_f( float c1, float c2) { + return (2.0 * c1 - 1.0 > c2) ? 2.0 * c1 - 1.0 : ((c1 < 0.5 * c2) ? 2.0 * c1 : c2); +} +vec3 blend_pin_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_pin_light_f(c1.x, c2.x), blend_pin_light_f(c1.y, c2.y), blend_pin_light_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_hard_mix_f(float c1, float c2) { + return floor(c1 + c2); +} +vec3 blend_hard_mix(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_hard_mix_f(c1.x, c2.x), blend_hard_mix_f(c1.y, c2.y), blend_hard_mix_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_exclusion_f(float c1, float c2) { + return c1 + c2 - 2.0 * c1 * c2; +} +vec3 blend_exclusion(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_exclusion_f(c1.x, c2.x), blend_exclusion_f(c1.y, c2.y), blend_exclusion_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +vec3 rgb_to_hsv(vec3 c) { + vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy); + vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx); + float d = q.x - min(q.w, q.y); + float e = 1.0e-10; + return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} +vec3 hsv_to_rgb(vec3 c) { + vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} +float pingpong(float a, float b) +{ + return (b != 0.0) ? abs(fract((a - b) / (b * 2.0)) * b * 2.0 - b) : 0.0; +} +const float p_o150460_amount1 = 1.000000000; +const float p_o150416_count = 8.000000000; +const float p_o150416_width = 4.000000000; +const float p_o150434_amount1 = 1.000000000; +const float p_o150477_cx = 0.000000000; +const float p_o150477_cy = 0.000000000; +const float p_o150477_rotate = 90.000000000; +const float p_o150492_cx = 0.000000000; +const float p_o150492_cy = 0.000000000; +const float p_o150492_scale_x = 1.700000000; +const float p_o150492_scale_y = 1.000000000; +const float p_o150478_gradient_0_pos = 0.000000000; +const vec4 p_o150478_gradient_0_col = vec4(0.000000000, 0.032349002, 0.078125000, 1.000000000); +const float p_o150478_gradient_1_pos = 0.747442000; +const vec4 p_o150478_gradient_1_col = vec4(0.000000000, 0.111450002, 0.171875000, 1.000000000); +const float p_o150478_gradient_2_pos = 1.000000000; +const vec4 p_o150478_gradient_2_col = vec4(0.129639000, 0.297876000, 0.460938007, 1.000000000); +vec4 o150478_gradient_gradient_fct(float x) { + if (x < p_o150478_gradient_0_pos) { + return p_o150478_gradient_0_col; + } else if (x < p_o150478_gradient_1_pos) { + return mix(mix(p_o150478_gradient_1_col, p_o150478_gradient_2_col, (x-p_o150478_gradient_1_pos)/(p_o150478_gradient_2_pos-p_o150478_gradient_1_pos)), mix(p_o150478_gradient_0_col, p_o150478_gradient_1_col, (x-p_o150478_gradient_0_pos)/(p_o150478_gradient_1_pos-p_o150478_gradient_0_pos)), 1.0-0.5*(x-p_o150478_gradient_0_pos)/(p_o150478_gradient_1_pos-p_o150478_gradient_0_pos)); + } else if (x < p_o150478_gradient_2_pos) { + return mix(mix(p_o150478_gradient_0_col, p_o150478_gradient_1_col, (x-p_o150478_gradient_0_pos)/(p_o150478_gradient_1_pos-p_o150478_gradient_0_pos)), mix(p_o150478_gradient_1_col, p_o150478_gradient_2_col, (x-p_o150478_gradient_1_pos)/(p_o150478_gradient_2_pos-p_o150478_gradient_1_pos)), 0.5+0.5*(x-p_o150478_gradient_1_pos)/(p_o150478_gradient_2_pos-p_o150478_gradient_1_pos)); + } + return p_o150478_gradient_2_col; +} +const float p_o150435_hue = 0.000000000; +const float p_o150435_saturation = 0.300000000; +const float p_o150435_value = 1.000000000; +const float seed_o150442 = 0.904035091; +const float p_o150441_steps = 300.000000000; +const float p_o150459_amount1 = 1.000000000; +const float p_o150443_repeat = 1.000000000; +const float p_o150443_gradient_0_pos = 0.000000000; +const vec4 p_o150443_gradient_0_col = vec4(0.000000000, 0.000000000, 0.000000000, 1.000000000); +const float p_o150443_gradient_1_pos = 1.000000000; +const vec4 p_o150443_gradient_1_col = vec4(1.000000000, 1.000000000, 1.000000000, 1.000000000); +vec4 o150443_gradient_gradient_fct(float x) { + if (x < p_o150443_gradient_0_pos) { + return p_o150443_gradient_0_col; + } else if (x < p_o150443_gradient_1_pos) { + return mix(p_o150443_gradient_0_col, p_o150443_gradient_1_col, ((x-p_o150443_gradient_0_pos)/(p_o150443_gradient_1_pos-p_o150443_gradient_0_pos))); + } + return p_o150443_gradient_1_col; +} +const float p_o150461_sides = 6.000000000; +const float p_o150461_radius = 4.000000000; +const float p_o150461_edge = 1.000000000; +const float p_o150457_cx = 0.000000000; +const float p_o150457_cy = 0.000000000; +const float p_o150457_rotate = 45.000000000; +const float p_o150438_default_in1 = 0.000000000; +const float p_o150438_default_in2 = 20.000000000; +const float p_o150439_default_in1 = 0.000000000; +const float p_o150439_default_in2 = 0.000000000; +const float p_o150440_default_in1 = 0.000000000; +const float p_o150440_default_in2 = 0.000000000; +const float p_o150437_default_in1 = 0.000000000; +const float p_o150436_default_in1 = 0.000000000; +const float p_o150436_default_in2 = 0.200000000; +vec4 o150416_input_in(vec2 uv, float _seed_variation_) { +vec2 o150477_0_c = vec2(0.5+p_o150477_cx, 0.5+p_o150477_cy);vec4 o150478_0_1_rgba = o150478_gradient_gradient_fct(((scale((rotate((uv)-o150477_0_c, p_o150477_rotate*0.01745329251)+o150477_0_c), vec2(0.5+p_o150492_cx, 0.5+p_o150492_cy), vec2(p_o150492_scale_x, p_o150492_scale_y)))).x); +vec4 o150492_0_1_rgba = o150478_0_1_rgba; +vec4 o150477_0_1_rgba = o150492_0_1_rgba; +vec4 o150443_0_1_rgba = o150443_gradient_gradient_fct(fract(p_o150443_repeat*0.15915494309*atan((uv).y-0.5, (uv).x-0.5))); +float o150461_0_1_f = shape_circle((uv), p_o150461_sides, p_o150461_radius*1.0, p_o150461_edge*1.0); +vec4 o150462_0_1_rgba = vec4(vec3(1.0)-vec4(vec3(o150461_0_1_f), 1.0).rgb, vec4(vec3(o150461_0_1_f), 1.0).a); +vec4 o150456_0_1_rgba = vec4((dot((o150443_0_1_rgba).rgb, vec3(1.0))/3.0), (dot((o150462_0_1_rgba).rgb, vec3(1.0))/3.0), 0.0, 1.0); +vec2 o150457_0_c = vec2(0.5+p_o150457_cx, 0.5+p_o150457_cy);vec4 o150457_0_1_rgba = vec4((rotate((uv)-o150457_0_c, p_o150457_rotate*0.01745329251)+o150457_0_c), 0.0, 1.0); +vec4 o150459_0_b = o150456_0_1_rgba; +vec4 o150459_0_l; +float o150459_0_a; +o150459_0_l = o150457_0_1_rgba; +o150459_0_a = p_o150459_amount1*1.0; +o150459_0_b = vec4(blend_normal((uv), o150459_0_l.rgb, o150459_0_b.rgb, o150459_0_a*o150459_0_l.a), min(1.0, o150459_0_b.a+o150459_0_a*o150459_0_l.a)); +vec4 o150459_0_2_rgba = o150459_0_b; +float o150458_1_1_f = o150459_0_2_rgba.g; +vec4 o150441_0_1_rgba = vec4(floor(vec4(vec3(o150458_1_1_f), 1.0).rgb*p_o150441_steps)/p_o150441_steps, vec4(vec3(o150458_1_1_f), 1.0).a); +vec3 o150442_0_rand = ((o150441_0_1_rgba).rgb);vec3 o150442_0_1_rgb = rand3( vec2( float((seed_o150442+fract(_seed_variation_))) + o150442_0_rand.x, rand( o150442_0_rand.yz ) ) ); +vec4 o150435_0_rbga = vec4(o150442_0_1_rgb, 1.0); +vec3 o150435_0_hsv = rgb_to_hsv(o150435_0_rbga.rgb); +o150435_0_hsv.x += p_o150435_hue; +o150435_0_hsv.y = clamp(o150435_0_hsv.y*p_o150435_saturation, 0.0, 1.0); +o150435_0_hsv.z = clamp(o150435_0_hsv.z*p_o150435_value, 0.0, 1.0); + vec4 o150435_0_1_rgba = vec4(hsv_to_rgb(o150435_0_hsv), o150435_0_rbga.a); +float o150458_0_2_f = o150459_0_2_rgba.r; +float o150436_0_clamp_false = (dot(o150442_0_1_rgb, vec3(1.0))/3.0)*p_o150436_default_in2; +float o150436_0_clamp_true = clamp(o150436_0_clamp_false, 0.0, 1.0); +float o150436_0_2_f = o150436_0_clamp_false; +float o150437_0_clamp_false = o150436_0_2_f*(elapsed_time+100.); +float o150437_0_clamp_true = clamp(o150437_0_clamp_false, 0.0, 1.0); +float o150437_0_2_f = o150437_0_clamp_false; +float o150440_0_clamp_false = o150458_0_2_f-o150437_0_2_f; +float o150440_0_clamp_true = clamp(o150440_0_clamp_false, 0.0, 1.0); +float o150440_0_1_f = o150440_0_clamp_false; +float o150439_0_clamp_false = fract(o150440_0_1_f); +float o150439_0_clamp_true = clamp(o150439_0_clamp_false, 0.0, 1.0); +float o150439_0_1_f = o150439_0_clamp_false; +float o150438_0_clamp_false = pow(o150439_0_1_f,p_o150438_default_in2); +float o150438_0_clamp_true = clamp(o150438_0_clamp_false, 0.0, 1.0); +float o150438_0_2_f = o150438_0_clamp_false; +vec4 o150434_0_b = o150477_0_1_rgba; +vec4 o150434_0_l; +float o150434_0_a; +o150434_0_l = o150435_0_1_rgba; +o150434_0_a = p_o150434_amount1*o150438_0_2_f; +o150434_0_b = vec4(blend_normal((uv), o150434_0_l.rgb, o150434_0_b.rgb, o150434_0_a*o150434_0_l.a), min(1.0, o150434_0_b.a+o150434_0_a*o150434_0_l.a)); +vec4 o150434_0_1_rgba = o150434_0_b; +return o150434_0_1_rgba; +} +vec4 supersample_o150416(vec2 uv, float size, int count, float width, float _seed_variation_) { + vec4 rv = vec4(0.0); + vec2 step_size = vec2(width)/size/float(count); + uv -= vec2(0.5)/size; + for (int x = 0; x < count; ++x) { + for (int y = 0; y < count; ++y) { + rv += o150416_input_in(uv+(vec2(float(x), float(y))+vec2(0.5))*step_size, _seed_variation_); + } + } + return rv/float(count*count); +}const float p_o150411_translate_x = 0.002200000; +const float p_o150411_translate_y = 0.002200000; +const float p_o150412_count = 12.000000000; +const float p_o150412_width = 4.000000000; +vec4 o150412_input_in(vec2 uv, float _seed_variation_) { +vec2 o150477_0_c = vec2(0.5+p_o150477_cx, 0.5+p_o150477_cy);vec4 o150478_0_1_rgba = o150478_gradient_gradient_fct(((scale((rotate((uv)-o150477_0_c, p_o150477_rotate*0.01745329251)+o150477_0_c), vec2(0.5+p_o150492_cx, 0.5+p_o150492_cy), vec2(p_o150492_scale_x, p_o150492_scale_y)))).x); +vec4 o150492_0_1_rgba = o150478_0_1_rgba; +vec4 o150477_0_1_rgba = o150492_0_1_rgba; +vec4 o150443_0_1_rgba = o150443_gradient_gradient_fct(fract(p_o150443_repeat*0.15915494309*atan((uv).y-0.5, (uv).x-0.5))); +float o150461_0_1_f = shape_circle((uv), p_o150461_sides, p_o150461_radius*1.0, p_o150461_edge*1.0); +vec4 o150462_0_1_rgba = vec4(vec3(1.0)-vec4(vec3(o150461_0_1_f), 1.0).rgb, vec4(vec3(o150461_0_1_f), 1.0).a); +vec4 o150456_0_1_rgba = vec4((dot((o150443_0_1_rgba).rgb, vec3(1.0))/3.0), (dot((o150462_0_1_rgba).rgb, vec3(1.0))/3.0), 0.0, 1.0); +vec2 o150457_0_c = vec2(0.5+p_o150457_cx, 0.5+p_o150457_cy);vec4 o150457_0_1_rgba = vec4((rotate((uv)-o150457_0_c, p_o150457_rotate*0.01745329251)+o150457_0_c), 0.0, 1.0); +vec4 o150459_0_b = o150456_0_1_rgba; +vec4 o150459_0_l; +float o150459_0_a; +o150459_0_l = o150457_0_1_rgba; +o150459_0_a = p_o150459_amount1*1.0; +o150459_0_b = vec4(blend_normal((uv), o150459_0_l.rgb, o150459_0_b.rgb, o150459_0_a*o150459_0_l.a), min(1.0, o150459_0_b.a+o150459_0_a*o150459_0_l.a)); +vec4 o150459_0_2_rgba = o150459_0_b; +float o150458_1_1_f = o150459_0_2_rgba.g; +vec4 o150441_0_1_rgba = vec4(floor(vec4(vec3(o150458_1_1_f), 1.0).rgb*p_o150441_steps)/p_o150441_steps, vec4(vec3(o150458_1_1_f), 1.0).a); +vec3 o150442_0_rand = ((o150441_0_1_rgba).rgb);vec3 o150442_0_1_rgb = rand3( vec2( float((seed_o150442+fract(_seed_variation_))) + o150442_0_rand.x, rand( o150442_0_rand.yz ) ) ); +vec4 o150435_0_rbga = vec4(o150442_0_1_rgb, 1.0); +vec3 o150435_0_hsv = rgb_to_hsv(o150435_0_rbga.rgb); +o150435_0_hsv.x += p_o150435_hue; +o150435_0_hsv.y = clamp(o150435_0_hsv.y*p_o150435_saturation, 0.0, 1.0); +o150435_0_hsv.z = clamp(o150435_0_hsv.z*p_o150435_value, 0.0, 1.0); + vec4 o150435_0_1_rgba = vec4(hsv_to_rgb(o150435_0_hsv), o150435_0_rbga.a); +float o150458_0_2_f = o150459_0_2_rgba.r; +float o150436_0_clamp_false = (dot(o150442_0_1_rgb, vec3(1.0))/3.0)*p_o150436_default_in2; +float o150436_0_clamp_true = clamp(o150436_0_clamp_false, 0.0, 1.0); +float o150436_0_2_f = o150436_0_clamp_false; +float o150437_0_clamp_false = o150436_0_2_f*(elapsed_time+100.); +float o150437_0_clamp_true = clamp(o150437_0_clamp_false, 0.0, 1.0); +float o150437_0_2_f = o150437_0_clamp_false; +float o150440_0_clamp_false = o150458_0_2_f-o150437_0_2_f; +float o150440_0_clamp_true = clamp(o150440_0_clamp_false, 0.0, 1.0); +float o150440_0_1_f = o150440_0_clamp_false; +float o150439_0_clamp_false = fract(o150440_0_1_f); +float o150439_0_clamp_true = clamp(o150439_0_clamp_false, 0.0, 1.0); +float o150439_0_1_f = o150439_0_clamp_false; +float o150438_0_clamp_false = pow(o150439_0_1_f,p_o150438_default_in2); +float o150438_0_clamp_true = clamp(o150438_0_clamp_false, 0.0, 1.0); +float o150438_0_2_f = o150438_0_clamp_false; +vec4 o150434_0_b = o150477_0_1_rgba; +vec4 o150434_0_l; +float o150434_0_a; +o150434_0_l = o150435_0_1_rgba; +o150434_0_a = p_o150434_amount1*o150438_0_2_f; +o150434_0_b = vec4(blend_normal((uv), o150434_0_l.rgb, o150434_0_b.rgb, o150434_0_a*o150434_0_l.a), min(1.0, o150434_0_b.a+o150434_0_a*o150434_0_l.a)); +vec4 o150434_0_1_rgba = o150434_0_b; +return o150434_0_1_rgba; +} +vec4 supersample_o150412(vec2 uv, float size, int count, float width, float _seed_variation_) { + vec4 rv = vec4(0.0); + vec2 step_size = vec2(width)/size/float(count); + uv -= vec2(0.5)/size; + for (int x = 0; x < count; ++x) { + for (int y = 0; y < count; ++y) { + rv += o150412_input_in(uv+(vec2(float(x), float(y))+vec2(0.5))*step_size, _seed_variation_); + } + } + return rv/float(count*count); +} +void fragment() { + float _seed_variation_ = variation; + vec2 uv = fract(UV); +vec4 o150416_0_1_rgba = supersample_o150416((uv), 1024.000000000, int(p_o150416_count), p_o150416_width, _seed_variation_); +vec4 o150412_0_1_rgba = supersample_o150412(((uv)-vec2(p_o150411_translate_x, p_o150411_translate_y)), 256.000000000, int(p_o150412_count), p_o150412_width, _seed_variation_); +vec4 o150411_0_1_rgba = o150412_0_1_rgba; +vec4 o150460_0_b = o150416_0_1_rgba; +vec4 o150460_0_l; +float o150460_0_a; + +o150460_0_l = o150411_0_1_rgba; +o150460_0_a = p_o150460_amount1*1.0; +o150460_0_b = vec4(blend_additive((uv), o150460_0_l.rgb, o150460_0_b.rgb, o150460_0_a*o150460_0_l.a), min(1.0, o150460_0_b.a+o150460_0_a*o150460_0_l.a)); + +vec4 o150460_0_2_rgba = o150460_0_b; + + vec4 color_tex = o150460_0_2_rgba; + color_tex = mix(pow((color_tex + vec4(0.055)) * (1.0 / (1.0 + 0.055)),vec4(2.4)),color_tex * (1.0 / 12.92),lessThan(color_tex,vec4(0.04045))); + COLOR = color_tex; + +} + + + diff --git a/splash_screen/backgrounds/droppedbeat_meteor_rain.tres b/splash_screen/backgrounds/droppedbeat_meteor_rain.tres new file mode 100644 index 000000000..86ce5f91e --- /dev/null +++ b/splash_screen/backgrounds/droppedbeat_meteor_rain.tres @@ -0,0 +1,7 @@ +[gd_resource type="ShaderMaterial" load_steps=2 format=2] +[ext_resource path="droppedbeat_meteor_rain.gdshader" type="Shader" id=1] +[resource] +shader = ExtResource( 1 ) + + + diff --git a/splash_screen/backgrounds/droppedbeat_star_trails.gdshader b/splash_screen/backgrounds/droppedbeat_star_trails.gdshader new file mode 100644 index 000000000..a706c65a2 --- /dev/null +++ b/splash_screen/backgrounds/droppedbeat_star_trails.gdshader @@ -0,0 +1,416 @@ +shader_type canvas_item; + +render_mode unshaded, blend_mix; + +uniform vec3 uv1_scale = vec3(1.0, 1.0, 1.0); +uniform vec3 uv1_offset = vec3(0.0, 0.0, 0.0); +uniform float variation = 0.0; +varying float elapsed_time; +void vertex() { + elapsed_time = TIME; + UV = UV*uv1_scale.xy+uv1_offset.xy; +} +float rand(vec2 x) { + return fract(cos(mod(dot(x, vec2(13.9898, 8.141)), 3.14)) * 43758.5453); +} +vec2 rand2(vec2 x) { + return fract(cos(mod(vec2(dot(x, vec2(13.9898, 8.141)), + dot(x, vec2(3.4562, 17.398))), vec2(3.14))) * 43758.5453); +} +vec3 rand3(vec2 x) { + return fract(cos(mod(vec3(dot(x, vec2(13.9898, 8.141)), + dot(x, vec2(3.4562, 17.398)), + dot(x, vec2(13.254, 5.867))), vec3(3.14))) * 43758.5453); +} +float param_rnd(float minimum, float maximum, float seed) { + return minimum+(maximum-minimum)*rand(vec2(seed)); +} +vec3 rgb2hsv(vec3 c) { + vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy); + vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx); + float d = q.x - min(q.w, q.y); + float e = 1.0e-10; + return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} +vec3 hsv2rgb(vec3 c) { + vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} +vec2 rotate(vec2 uv, float rotate) { + vec2 rv; + rv.x = cos(rotate)*uv.x + sin(rotate)*uv.y; + rv.y = -sin(rotate)*uv.x + cos(rotate)*uv.y; + return rv; +} +vec2 scale(vec2 uv, vec2 center, vec2 scale) { + uv -= center; + uv /= scale; + uv += center; + return uv; +} +float shape_circle(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float distance = length(uv); + return clamp((1.0-distance/size)/edge, 0.0, 1.0); +} +float shape_polygon(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float angle = atan(uv.x, uv.y)+3.14159265359; + float slice = 6.28318530718/sides; + return clamp((1.0-(cos(floor(0.5+angle/slice)*slice-angle)*length(uv))/size)/edge, 0.0, 1.0); +} +float shape_star(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float angle = atan(uv.x, uv.y); + float slice = 6.28318530718/sides; + return clamp((1.0-(cos(floor(angle*sides/6.28318530718-0.5+2.0*step(fract(angle*sides/6.28318530718), 0.5))*slice-angle)*length(uv))/size)/edge, 0.0, 1.0); +} +float shape_curved_star(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float angle = 2.0*(atan(uv.x, uv.y)+3.14159265359); + float slice = 6.28318530718/sides; + return clamp((1.0-cos(floor(0.5+0.5*angle/slice)*2.0*slice-angle)*length(uv)/size)/edge, 0.0, 1.0); +} +float shape_rays(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = 0.5*max(edge, 1.0e-8)*size; + float slice = 6.28318530718/sides; + float angle = mod(atan(uv.x, uv.y)+3.14159265359, slice)/slice; + return clamp(min((size-angle)/edge, angle/edge), 0.0, 1.0); +} +vec3 blend_normal(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*c1 + (1.0-opacity)*c2; +} +vec3 blend_dissolve(vec2 uv, vec3 c1, vec3 c2, float opacity) { + if (rand(uv) < opacity) { + return c1; + } else { + return c2; + } +} +vec3 blend_multiply(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*c1*c2 + (1.0-opacity)*c2; +} +vec3 blend_screen(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*(1.0-(1.0-c1)*(1.0-c2)) + (1.0-opacity)*c2; +} +float blend_overlay_f(float c1, float c2) { + return (c1 < 0.5) ? (2.0*c1*c2) : (1.0-2.0*(1.0-c1)*(1.0-c2)); +} +vec3 blend_overlay(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_overlay_f(c1.x, c2.x), blend_overlay_f(c1.y, c2.y), blend_overlay_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +vec3 blend_hard_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*0.5*(c1*c2+blend_overlay(uv, c1, c2, 1.0)) + (1.0-opacity)*c2; +} +float blend_soft_light_f(float c1, float c2) { + return (c2 < 0.5) ? (2.0*c1*c2+c1*c1*(1.0-2.0*c2)) : 2.0*c1*(1.0-c2)+sqrt(c1)*(2.0*c2-1.0); +} +vec3 blend_soft_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_soft_light_f(c1.x, c2.x), blend_soft_light_f(c1.y, c2.y), blend_soft_light_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_burn_f(float c1, float c2) { + return (c1==0.0)?c1:max((1.0-((1.0-c2)/c1)),0.0); +} +vec3 blend_burn(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_burn_f(c1.x, c2.x), blend_burn_f(c1.y, c2.y), blend_burn_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_dodge_f(float c1, float c2) { + return (c1==1.0)?c1:min(c2/(1.0-c1),1.0); +} +vec3 blend_dodge(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_dodge_f(c1.x, c2.x), blend_dodge_f(c1.y, c2.y), blend_dodge_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +vec3 blend_lighten(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*max(c1, c2) + (1.0-opacity)*c2; +} +vec3 blend_darken(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*min(c1, c2) + (1.0-opacity)*c2; +} +vec3 blend_difference(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*clamp(c2-c1, vec3(0.0), vec3(1.0)) + (1.0-opacity)*c2; +} +vec3 blend_additive(vec2 uv, vec3 c1, vec3 c2, float oppacity) { + return c2 + c1 * oppacity; +} +vec3 blend_addsub(vec2 uv, vec3 c1, vec3 c2, float oppacity) { + return c2 + (c1 - .5) * 2.0 * oppacity; +} +float blend_linear_light_f(float c1, float c2) { + return (c1 + 2.0 * c2) - 1.0; +} +vec3 blend_linear_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { +return opacity*vec3(blend_linear_light_f(c1.x, c2.x), blend_linear_light_f(c1.y, c2.y), blend_linear_light_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_vivid_light_f(float c1, float c2) { + return (c1 < 0.5) ? 1.0 - (1.0 - c2) / (2.0 * c1) : c2 / (2.0 * (1.0 - c1)); +} +vec3 blend_vivid_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_vivid_light_f(c1.x, c2.x), blend_vivid_light_f(c1.y, c2.y), blend_vivid_light_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_pin_light_f( float c1, float c2) { + return (2.0 * c1 - 1.0 > c2) ? 2.0 * c1 - 1.0 : ((c1 < 0.5 * c2) ? 2.0 * c1 : c2); +} +vec3 blend_pin_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_pin_light_f(c1.x, c2.x), blend_pin_light_f(c1.y, c2.y), blend_pin_light_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_hard_mix_f(float c1, float c2) { + return floor(c1 + c2); +} +vec3 blend_hard_mix(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_hard_mix_f(c1.x, c2.x), blend_hard_mix_f(c1.y, c2.y), blend_hard_mix_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_exclusion_f(float c1, float c2) { + return c1 + c2 - 2.0 * c1 * c2; +} +vec3 blend_exclusion(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_exclusion_f(c1.x, c2.x), blend_exclusion_f(c1.y, c2.y), blend_exclusion_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +vec3 rgb_to_hsv(vec3 c) { + vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy); + vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx); + float d = q.x - min(q.w, q.y); + float e = 1.0e-10; + return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} +vec3 hsv_to_rgb(vec3 c) { + vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} +float pingpong(float a, float b) +{ + return (b != 0.0) ? abs(fract((a - b) / (b * 2.0)) * b * 2.0 - b) : 0.0; +} +const float p_o168576_amount1 = 1.000000000; +const float p_o168546_count = 8.000000000; +const float p_o168546_width = 4.000000000; +const float p_o168550_amount1 = 1.000000000; +const float p_o168594_cx = 0.000000000; +const float p_o168594_cy = 0.000000000; +const float p_o168594_scale_x = 1.000000000; +const float p_o168594_scale_y = 3.000000000; +const float p_o168593_cx = 0.000000000; +const float p_o168593_cy = 0.000000000; +const float p_o168593_rotate = 90.000000000; +const float p_o168579_gradient_0_pos = 0.000000000; +const vec4 p_o168579_gradient_0_col = vec4(0.000000000, 0.032349002, 0.078125000, 1.000000000); +const float p_o168579_gradient_1_pos = 0.747442000; +const vec4 p_o168579_gradient_1_col = vec4(0.000000000, 0.111450002, 0.171875000, 1.000000000); +const float p_o168579_gradient_2_pos = 1.000000000; +const vec4 p_o168579_gradient_2_col = vec4(0.129639000, 0.297876000, 0.460938007, 1.000000000); +vec4 o168579_gradient_gradient_fct(float x) { + if (x < p_o168579_gradient_0_pos) { + return p_o168579_gradient_0_col; + } else if (x < p_o168579_gradient_1_pos) { + return mix(mix(p_o168579_gradient_1_col, p_o168579_gradient_2_col, (x-p_o168579_gradient_1_pos)/(p_o168579_gradient_2_pos-p_o168579_gradient_1_pos)), mix(p_o168579_gradient_0_col, p_o168579_gradient_1_col, (x-p_o168579_gradient_0_pos)/(p_o168579_gradient_1_pos-p_o168579_gradient_0_pos)), 1.0-0.5*(x-p_o168579_gradient_0_pos)/(p_o168579_gradient_1_pos-p_o168579_gradient_0_pos)); + } else if (x < p_o168579_gradient_2_pos) { + return mix(mix(p_o168579_gradient_0_col, p_o168579_gradient_1_col, (x-p_o168579_gradient_0_pos)/(p_o168579_gradient_1_pos-p_o168579_gradient_0_pos)), mix(p_o168579_gradient_1_col, p_o168579_gradient_2_col, (x-p_o168579_gradient_1_pos)/(p_o168579_gradient_2_pos-p_o168579_gradient_1_pos)), 0.5+0.5*(x-p_o168579_gradient_1_pos)/(p_o168579_gradient_2_pos-p_o168579_gradient_1_pos)); + } + return p_o168579_gradient_2_col; +} +const float p_o168551_hue = 0.000000000; +const float p_o168551_saturation = 0.300000000; +const float p_o168551_value = 1.000000000; +const float seed_o168558 = 0.904035091; +const float p_o168557_steps = 500.000000000; +const float p_o168575_amount1 = 0.000000000; +const float p_o168559_repeat = 1.000000000; +const float p_o168559_gradient_0_pos = 0.000000000; +const vec4 p_o168559_gradient_0_col = vec4(0.000000000, 0.000000000, 0.000000000, 1.000000000); +const float p_o168559_gradient_1_pos = 1.000000000; +const vec4 p_o168559_gradient_1_col = vec4(1.000000000, 1.000000000, 1.000000000, 1.000000000); +vec4 o168559_gradient_gradient_fct(float x) { + if (x < p_o168559_gradient_0_pos) { + return p_o168559_gradient_0_col; + } else if (x < p_o168559_gradient_1_pos) { + return mix(p_o168559_gradient_0_col, p_o168559_gradient_1_col, ((x-p_o168559_gradient_0_pos)/(p_o168559_gradient_1_pos-p_o168559_gradient_0_pos))); + } + return p_o168559_gradient_1_col; +} +const float p_o168577_sides = 6.000000000; +const float p_o168577_radius = 8.000000000; +const float p_o168577_edge = 1.000000000; +const float p_o168573_cx = 0.000000000; +const float p_o168573_cy = 0.000000000; +const float p_o168573_rotate = 45.000000000; +const float p_o168596_default_in1 = 0.000000000; +const float p_o168596_default_in2 = 0.000000000; +const float p_o168554_default_in1 = 0.000000000; +const float p_o168554_default_in2 = 20.000000000; +const float p_o168555_default_in1 = 0.000000000; +const float p_o168555_default_in2 = 0.000000000; +const float p_o168556_default_in1 = 0.000000000; +const float p_o168556_default_in2 = 0.000000000; +const float p_o168553_default_in1 = 0.000000000; +const float p_o168552_default_in1 = 0.000000000; +const float p_o168552_default_in2 = 0.200000000; +const float p_o168595_sides = 6.000000000; +const float p_o168595_radius = 0.063200000; +const float p_o168595_edge = 0.650000000; +vec4 o168546_input_in(vec2 uv, float _seed_variation_) { +vec2 o168593_0_c = vec2(0.5+p_o168593_cx, 0.5+p_o168593_cy);vec4 o168579_0_1_rgba = o168579_gradient_gradient_fct(((rotate((scale((uv), vec2(0.5+p_o168594_cx, 0.5+p_o168594_cy), vec2(p_o168594_scale_x, p_o168594_scale_y)))-o168593_0_c, p_o168593_rotate*0.01745329251)+o168593_0_c)).x); +vec4 o168593_0_1_rgba = o168579_0_1_rgba; +vec4 o168594_0_1_rgba = o168593_0_1_rgba; +vec4 o168559_0_1_rgba = o168559_gradient_gradient_fct(fract(p_o168559_repeat*0.15915494309*atan((uv).y-0.5, (uv).x-0.5))); +float o168577_0_1_f = shape_circle((uv), p_o168577_sides, p_o168577_radius*1.0, p_o168577_edge*1.0); +vec4 o168578_0_1_rgba = vec4(vec3(1.0)-vec4(vec3(o168577_0_1_f), 1.0).rgb, vec4(vec3(o168577_0_1_f), 1.0).a); +vec4 o168572_0_1_rgba = vec4((dot((o168559_0_1_rgba).rgb, vec3(1.0))/3.0), (dot((o168578_0_1_rgba).rgb, vec3(1.0))/3.0), 0.0, 1.0); +vec2 o168573_0_c = vec2(0.5+p_o168573_cx, 0.5+p_o168573_cy);vec4 o168573_0_1_rgba = vec4((rotate((uv)-o168573_0_c, p_o168573_rotate*0.01745329251)+o168573_0_c), 0.0, 1.0); +vec4 o168575_0_b = o168572_0_1_rgba; +vec4 o168575_0_l; +float o168575_0_a; +o168575_0_l = o168573_0_1_rgba; +o168575_0_a = p_o168575_amount1*1.0; +o168575_0_b = vec4(blend_normal((uv), o168575_0_l.rgb, o168575_0_b.rgb, o168575_0_a*o168575_0_l.a), min(1.0, o168575_0_b.a+o168575_0_a*o168575_0_l.a)); +vec4 o168575_0_2_rgba = o168575_0_b; +float o168574_1_1_f = o168575_0_2_rgba.g; +vec4 o168557_0_1_rgba = vec4(floor(vec4(vec3(o168574_1_1_f), 1.0).rgb*p_o168557_steps)/p_o168557_steps, vec4(vec3(o168574_1_1_f), 1.0).a); +vec3 o168558_0_rand = ((o168557_0_1_rgba).rgb);vec3 o168558_0_1_rgb = rand3( vec2( float((seed_o168558+fract(_seed_variation_))) + o168558_0_rand.x, rand( o168558_0_rand.yz ) ) ); +vec4 o168551_0_rbga = vec4(o168558_0_1_rgb, 1.0); +vec3 o168551_0_hsv = rgb_to_hsv(o168551_0_rbga.rgb); +o168551_0_hsv.x += p_o168551_hue; +o168551_0_hsv.y = clamp(o168551_0_hsv.y*p_o168551_saturation, 0.0, 1.0); +o168551_0_hsv.z = clamp(o168551_0_hsv.z*p_o168551_value, 0.0, 1.0); + vec4 o168551_0_1_rgba = vec4(hsv_to_rgb(o168551_0_hsv), o168551_0_rbga.a); +float o168574_0_2_f = o168575_0_2_rgba.r; +float o168552_0_clamp_false = (dot(o168558_0_1_rgb, vec3(1.0))/3.0)*p_o168552_default_in2; +float o168552_0_clamp_true = clamp(o168552_0_clamp_false, 0.0, 1.0); +float o168552_0_2_f = o168552_0_clamp_false; +float o168553_0_clamp_false = o168552_0_2_f*(elapsed_time+100.); +float o168553_0_clamp_true = clamp(o168553_0_clamp_false, 0.0, 1.0); +float o168553_0_2_f = o168553_0_clamp_false; +float o168556_0_clamp_false = o168574_0_2_f-o168553_0_2_f; +float o168556_0_clamp_true = clamp(o168556_0_clamp_false, 0.0, 1.0); +float o168556_0_1_f = o168556_0_clamp_false; +float o168555_0_clamp_false = fract(o168556_0_1_f); +float o168555_0_clamp_true = clamp(o168555_0_clamp_false, 0.0, 1.0); +float o168555_0_1_f = o168555_0_clamp_false; +float o168554_0_clamp_false = pow(o168555_0_1_f,p_o168554_default_in2); +float o168554_0_clamp_true = clamp(o168554_0_clamp_false, 0.0, 1.0); +float o168554_0_2_f = o168554_0_clamp_false; +float o168595_0_1_f = shape_circle((uv), p_o168595_sides, p_o168595_radius*1.0, p_o168595_edge*1.0); +vec4 o168597_0_1_rgba = vec4(vec3(1.0)-vec4(vec3(o168595_0_1_f), 1.0).rgb, vec4(vec3(o168595_0_1_f), 1.0).a); +float o168596_0_clamp_false = o168554_0_2_f*(dot((o168597_0_1_rgba).rgb, vec3(1.0))/3.0); +float o168596_0_clamp_true = clamp(o168596_0_clamp_false, 0.0, 1.0); +float o168596_0_1_f = o168596_0_clamp_false; +vec4 o168550_0_b = o168594_0_1_rgba; +vec4 o168550_0_l; +float o168550_0_a; +o168550_0_l = o168551_0_1_rgba; +o168550_0_a = p_o168550_amount1*o168596_0_1_f; +o168550_0_b = vec4(blend_normal((uv), o168550_0_l.rgb, o168550_0_b.rgb, o168550_0_a*o168550_0_l.a), min(1.0, o168550_0_b.a+o168550_0_a*o168550_0_l.a)); +vec4 o168550_0_1_rgba = o168550_0_b; +return o168550_0_1_rgba; +} +vec4 supersample_o168546(vec2 uv, float size, int count, float width, float _seed_variation_) { + vec4 rv = vec4(0.0); + vec2 step_size = vec2(width)/size/float(count); + uv -= vec2(0.5)/size; + for (int x = 0; x < count; ++x) { + for (int y = 0; y < count; ++y) { + rv += o168546_input_in(uv+(vec2(float(x), float(y))+vec2(0.5))*step_size, _seed_variation_); + } + } + return rv/float(count*count); +}const float p_o168541_translate_x = 0.002200000; +const float p_o168541_translate_y = 0.002200000; +const float p_o168542_count = 12.000000000; +const float p_o168542_width = 4.000000000; +vec4 o168542_input_in(vec2 uv, float _seed_variation_) { +vec2 o168593_0_c = vec2(0.5+p_o168593_cx, 0.5+p_o168593_cy);vec4 o168579_0_1_rgba = o168579_gradient_gradient_fct(((rotate((scale((uv), vec2(0.5+p_o168594_cx, 0.5+p_o168594_cy), vec2(p_o168594_scale_x, p_o168594_scale_y)))-o168593_0_c, p_o168593_rotate*0.01745329251)+o168593_0_c)).x); +vec4 o168593_0_1_rgba = o168579_0_1_rgba; +vec4 o168594_0_1_rgba = o168593_0_1_rgba; +vec4 o168559_0_1_rgba = o168559_gradient_gradient_fct(fract(p_o168559_repeat*0.15915494309*atan((uv).y-0.5, (uv).x-0.5))); +float o168577_0_1_f = shape_circle((uv), p_o168577_sides, p_o168577_radius*1.0, p_o168577_edge*1.0); +vec4 o168578_0_1_rgba = vec4(vec3(1.0)-vec4(vec3(o168577_0_1_f), 1.0).rgb, vec4(vec3(o168577_0_1_f), 1.0).a); +vec4 o168572_0_1_rgba = vec4((dot((o168559_0_1_rgba).rgb, vec3(1.0))/3.0), (dot((o168578_0_1_rgba).rgb, vec3(1.0))/3.0), 0.0, 1.0); +vec2 o168573_0_c = vec2(0.5+p_o168573_cx, 0.5+p_o168573_cy);vec4 o168573_0_1_rgba = vec4((rotate((uv)-o168573_0_c, p_o168573_rotate*0.01745329251)+o168573_0_c), 0.0, 1.0); +vec4 o168575_0_b = o168572_0_1_rgba; +vec4 o168575_0_l; +float o168575_0_a; +o168575_0_l = o168573_0_1_rgba; +o168575_0_a = p_o168575_amount1*1.0; +o168575_0_b = vec4(blend_normal((uv), o168575_0_l.rgb, o168575_0_b.rgb, o168575_0_a*o168575_0_l.a), min(1.0, o168575_0_b.a+o168575_0_a*o168575_0_l.a)); +vec4 o168575_0_2_rgba = o168575_0_b; +float o168574_1_1_f = o168575_0_2_rgba.g; +vec4 o168557_0_1_rgba = vec4(floor(vec4(vec3(o168574_1_1_f), 1.0).rgb*p_o168557_steps)/p_o168557_steps, vec4(vec3(o168574_1_1_f), 1.0).a); +vec3 o168558_0_rand = ((o168557_0_1_rgba).rgb);vec3 o168558_0_1_rgb = rand3( vec2( float((seed_o168558+fract(_seed_variation_))) + o168558_0_rand.x, rand( o168558_0_rand.yz ) ) ); +vec4 o168551_0_rbga = vec4(o168558_0_1_rgb, 1.0); +vec3 o168551_0_hsv = rgb_to_hsv(o168551_0_rbga.rgb); +o168551_0_hsv.x += p_o168551_hue; +o168551_0_hsv.y = clamp(o168551_0_hsv.y*p_o168551_saturation, 0.0, 1.0); +o168551_0_hsv.z = clamp(o168551_0_hsv.z*p_o168551_value, 0.0, 1.0); + vec4 o168551_0_1_rgba = vec4(hsv_to_rgb(o168551_0_hsv), o168551_0_rbga.a); +float o168574_0_2_f = o168575_0_2_rgba.r; +float o168552_0_clamp_false = (dot(o168558_0_1_rgb, vec3(1.0))/3.0)*p_o168552_default_in2; +float o168552_0_clamp_true = clamp(o168552_0_clamp_false, 0.0, 1.0); +float o168552_0_2_f = o168552_0_clamp_false; +float o168553_0_clamp_false = o168552_0_2_f*(elapsed_time+100.); +float o168553_0_clamp_true = clamp(o168553_0_clamp_false, 0.0, 1.0); +float o168553_0_2_f = o168553_0_clamp_false; +float o168556_0_clamp_false = o168574_0_2_f-o168553_0_2_f; +float o168556_0_clamp_true = clamp(o168556_0_clamp_false, 0.0, 1.0); +float o168556_0_1_f = o168556_0_clamp_false; +float o168555_0_clamp_false = fract(o168556_0_1_f); +float o168555_0_clamp_true = clamp(o168555_0_clamp_false, 0.0, 1.0); +float o168555_0_1_f = o168555_0_clamp_false; +float o168554_0_clamp_false = pow(o168555_0_1_f,p_o168554_default_in2); +float o168554_0_clamp_true = clamp(o168554_0_clamp_false, 0.0, 1.0); +float o168554_0_2_f = o168554_0_clamp_false; +float o168595_0_1_f = shape_circle((uv), p_o168595_sides, p_o168595_radius*1.0, p_o168595_edge*1.0); +vec4 o168597_0_1_rgba = vec4(vec3(1.0)-vec4(vec3(o168595_0_1_f), 1.0).rgb, vec4(vec3(o168595_0_1_f), 1.0).a); +float o168596_0_clamp_false = o168554_0_2_f*(dot((o168597_0_1_rgba).rgb, vec3(1.0))/3.0); +float o168596_0_clamp_true = clamp(o168596_0_clamp_false, 0.0, 1.0); +float o168596_0_1_f = o168596_0_clamp_false; +vec4 o168550_0_b = o168594_0_1_rgba; +vec4 o168550_0_l; +float o168550_0_a; +o168550_0_l = o168551_0_1_rgba; +o168550_0_a = p_o168550_amount1*o168596_0_1_f; +o168550_0_b = vec4(blend_normal((uv), o168550_0_l.rgb, o168550_0_b.rgb, o168550_0_a*o168550_0_l.a), min(1.0, o168550_0_b.a+o168550_0_a*o168550_0_l.a)); +vec4 o168550_0_1_rgba = o168550_0_b; +return o168550_0_1_rgba; +} +vec4 supersample_o168542(vec2 uv, float size, int count, float width, float _seed_variation_) { + vec4 rv = vec4(0.0); + vec2 step_size = vec2(width)/size/float(count); + uv -= vec2(0.5)/size; + for (int x = 0; x < count; ++x) { + for (int y = 0; y < count; ++y) { + rv += o168542_input_in(uv+(vec2(float(x), float(y))+vec2(0.5))*step_size, _seed_variation_); + } + } + return rv/float(count*count); +} +void fragment() { + float _seed_variation_ = variation; + vec2 uv = fract(UV); +vec4 o168546_0_1_rgba = supersample_o168546((uv), 1024.000000000, int(p_o168546_count), p_o168546_width, _seed_variation_); +vec4 o168542_0_1_rgba = supersample_o168542(((uv)-vec2(p_o168541_translate_x, p_o168541_translate_y)), 256.000000000, int(p_o168542_count), p_o168542_width, _seed_variation_); +vec4 o168541_0_1_rgba = o168542_0_1_rgba; +vec4 o168576_0_b = o168546_0_1_rgba; +vec4 o168576_0_l; +float o168576_0_a; + +o168576_0_l = o168541_0_1_rgba; +o168576_0_a = p_o168576_amount1*1.0; +o168576_0_b = vec4(blend_additive((uv), o168576_0_l.rgb, o168576_0_b.rgb, o168576_0_a*o168576_0_l.a), min(1.0, o168576_0_b.a+o168576_0_a*o168576_0_l.a)); + +vec4 o168576_0_2_rgba = o168576_0_b; + + vec4 color_tex = o168576_0_2_rgba; + color_tex = mix(pow((color_tex + vec4(0.055)) * (1.0 / (1.0 + 0.055)),vec4(2.4)),color_tex * (1.0 / 12.92),lessThan(color_tex,vec4(0.04045))); + COLOR = color_tex; + +} + + + diff --git a/splash_screen/backgrounds/droppedbeat_star_trails.tres b/splash_screen/backgrounds/droppedbeat_star_trails.tres new file mode 100644 index 000000000..5010bbae1 --- /dev/null +++ b/splash_screen/backgrounds/droppedbeat_star_trails.tres @@ -0,0 +1,9 @@ +[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://b82ta4cl5vb57"] + +[ext_resource type="Shader" path="res://splash_screen/backgrounds/droppedbeat_star_trails.gdshader" id="1"] + +[resource] +shader = ExtResource("1") +shader_parameter/uv1_scale = Vector3(0.85, 0.51, 1) +shader_parameter/uv1_offset = Vector3(0.04, 0.38, 0) +shader_parameter/variation = 0.0 diff --git a/splash_screen/backgrounds/unfa_alien_display.gdshader b/splash_screen/backgrounds/unfa_alien_display.gdshader new file mode 100644 index 000000000..c876a9951 --- /dev/null +++ b/splash_screen/backgrounds/unfa_alien_display.gdshader @@ -0,0 +1,994 @@ +shader_type canvas_item; + +render_mode unshaded, blend_mix; + +uniform vec3 uv1_scale = vec3(1.0, 1.0, 1.0); +uniform vec3 uv1_offset = vec3(0.0, 0.0, 0.0); +uniform float variation = 0.0; +varying float elapsed_time; +void vertex() { + elapsed_time = TIME; + UV = UV*uv1_scale.xy+uv1_offset.xy; +} +float rand(vec2 x) { + return fract(cos(mod(dot(x, vec2(13.9898, 8.141)), 3.14)) * 43758.5453); +} +vec2 rand2(vec2 x) { + return fract(cos(mod(vec2(dot(x, vec2(13.9898, 8.141)), + dot(x, vec2(3.4562, 17.398))), vec2(3.14))) * 43758.5453); +} +vec3 rand3(vec2 x) { + return fract(cos(mod(vec3(dot(x, vec2(13.9898, 8.141)), + dot(x, vec2(3.4562, 17.398)), + dot(x, vec2(13.254, 5.867))), vec3(3.14))) * 43758.5453); +} +float param_rnd(float minimum, float maximum, float seed) { + return minimum+(maximum-minimum)*rand(vec2(seed)); +} +vec3 rgb2hsv(vec3 c) { + vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy); + vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx); + float d = q.x - min(q.w, q.y); + float e = 1.0e-10; + return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} +vec3 hsv2rgb(vec3 c) { + vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} +uniform sampler2D texture_1; +const float texture_1_size = 1024.0; +uniform sampler2D texture_2; +const float texture_2_size = 32.0; +vec2 transform2_clamp(vec2 uv) { + return clamp(uv, vec2(0.0), vec2(1.0)); +} +vec2 transform2(vec2 uv, vec2 translate, float rotate, vec2 scale) { + vec2 rv; + uv -= translate; + uv -= vec2(0.5); + rv.x = cos(rotate)*uv.x + sin(rotate)*uv.y; + rv.y = -sin(rotate)*uv.x + cos(rotate)*uv.y; + rv /= scale; + rv += vec2(0.5); + return rv; +} +uniform sampler2D texture_3; +const float texture_3_size = 128.0; +vec4 brick(vec2 uv, vec2 bmin, vec2 bmax, float mortar, float round, float bevel, float brick_height) { + float color; + vec2 size = bmax - bmin; + float min_size = min(size.x, size.y); + mortar *= brick_height; + bevel *= brick_height; + round *= brick_height; + vec2 center = 0.5*(bmin+bmax); + vec2 d = abs(uv-center)-0.5*(size)+vec2(round+mortar); + color = length(max(d,vec2(0))) + min(max(d.x,d.y),0.0)-round; + color = clamp(-color/bevel, 0.0, 1.0); + vec2 tiled_brick_pos = mod(bmin, vec2(1.0, 1.0)); + return vec4(color, center, tiled_brick_pos.x+7.0*tiled_brick_pos.y); +} +vec4 brick_corner_bb(vec2 uv, vec2 bmin, vec2 bmax, float mortar, float corner, float brick_height) { + vec2 center = 0.5*(bmin + bmax); + vec2 size = bmax - bmin; + float max_size = max(size.x, size.y); + float min_size = min(size.x, size.y); + mortar *= brick_height; + corner *= brick_height; + + vec2 corner1 = vec2(bmin + mortar); + vec2 corner2 = vec2(bmax.x - mortar - corner, bmin.y + mortar); + vec2 corner3 = vec2(bmin.x + mortar, bmax.y - mortar - corner); + vec2 corner4 = vec2(bmax - mortar - corner); + vec2 top = uv.x < center.x ? corner1 : corner2; + vec2 bottom = uv.x < center.x ? corner3 : corner4; + vec2 positions = uv.y < center.y ? top : bottom; + return vec4(round(fract(positions)*4096.0)/4096.0, corner, corner); +} +vec4 bricks_rb(vec2 uv, vec2 count, float repeat, float offset) { + count *= repeat; + float x_offset = offset*step(0.5, fract(uv.y*count.y*0.5)); + vec2 bmin = floor(vec2(uv.x*count.x-x_offset, uv.y*count.y)); + bmin.x += x_offset; + bmin /= count; + return vec4(bmin, bmin+vec2(1.0)/count); +} +vec4 bricks_rb2(vec2 uv, vec2 count, float repeat, float offset) { + count *= repeat; + float x_offset = offset*step(0.5, fract(uv.y*count.y*0.5)); + count.x = count.x*(1.0+step(0.5, fract(uv.y*count.y*0.5))); + vec2 bmin = floor(vec2(uv.x*count.x-x_offset, uv.y*count.y)); + bmin.x += x_offset; + bmin /= count; + return vec4(bmin, bmin+vec2(1.0)/count); +} +vec4 bricks_rb3(vec2 uv, vec2 count, float repeat, float offset) { + vec4 bb = bricks_rb(uv, count, repeat, offset); + + if ( (uv.x - bb.x) / (bb.z - bb.x) < 1.0/3.0) { + bb.z = bb.x + (bb.z - bb.x) / 3.0; + } else { + bb.x = bb.x + (bb.z - bb.x) / 3.0; + } + return bb; +} +vec4 bricks_hb(vec2 uv, vec2 count, float repeat, float offset) { + float pc = count.x+count.y; + float c = pc*repeat; + vec2 corner = floor(uv*c); + float cdiff = mod(corner.x-corner.y, pc); + if (cdiff < count.x) { + return vec4((corner-vec2(cdiff, 0.0))/c, (corner-vec2(cdiff, 0.0)+vec2(count.x, 1.0))/c); + } else { + return vec4((corner-vec2(0.0, pc-cdiff-1.0))/c, (corner-vec2(0.0, pc-cdiff-1.0)+vec2(1.0, count.y))/c); + } +} +vec4 bricks_bw(vec2 uv, vec2 count, float repeat, float offset) { + vec2 c = 2.0*count*repeat; + float mc = max(c.x, c.y); + vec2 corner1 = floor(uv*c); + vec2 corner2 = count*floor(repeat*2.0*uv); + float cdiff = mod(dot(floor(repeat*2.0*uv), vec2(1.0)), 2.0); + vec2 corner; + vec2 size; + if (cdiff == 0.0) { + corner = vec2(corner1.x, corner2.y); + size = vec2(1.0, count.y); + } else { + corner = vec2(corner2.x, corner1.y); + size = vec2(count.x, 1.0); + } + return vec4(corner/c, (corner+size)/c); +} +vec4 bricks_sb(vec2 uv, vec2 count, float repeat, float offset) { + vec2 c = (count+vec2(1.0)) * repeat; + float mc = max(c.x, c.y); + vec2 corner1 = floor(uv*c); + vec2 corner2 = (count+vec2(1.0))*floor(repeat*uv); + vec2 rcorner = corner1 - corner2; + vec2 corner; + vec2 size; + if (rcorner.x == 0.0 && rcorner.y < count.y) { + corner = corner2; + size = vec2(1.0, count.y); + } else if (rcorner.y == 0.0) { + corner = corner2+vec2(1.0, 0.0); + size = vec2(count.x, 1.0); + } else if (rcorner.x == count.x) { + corner = corner2+vec2(count.x, 1.0); + size = vec2(1.0, count.y); + } else if (rcorner.y == count.y) { + corner = corner2+vec2(0.0, count.y); + size = vec2(count.x, 1.0); + } else { + corner = corner2+vec2(1.0); + size = vec2(count.x-1.0, count.y-1.0); + } + return vec4(corner/c, (corner+size)/c); +} +vec3 blend_normal(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*c1 + (1.0-opacity)*c2; +} +vec3 blend_dissolve(vec2 uv, vec3 c1, vec3 c2, float opacity) { + if (rand(uv) < opacity) { + return c1; + } else { + return c2; + } +} +vec3 blend_multiply(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*c1*c2 + (1.0-opacity)*c2; +} +vec3 blend_screen(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*(1.0-(1.0-c1)*(1.0-c2)) + (1.0-opacity)*c2; +} +float blend_overlay_f(float c1, float c2) { + return (c1 < 0.5) ? (2.0*c1*c2) : (1.0-2.0*(1.0-c1)*(1.0-c2)); +} +vec3 blend_overlay(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_overlay_f(c1.x, c2.x), blend_overlay_f(c1.y, c2.y), blend_overlay_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +vec3 blend_hard_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*0.5*(c1*c2+blend_overlay(uv, c1, c2, 1.0)) + (1.0-opacity)*c2; +} +float blend_soft_light_f(float c1, float c2) { + return (c2 < 0.5) ? (2.0*c1*c2+c1*c1*(1.0-2.0*c2)) : 2.0*c1*(1.0-c2)+sqrt(c1)*(2.0*c2-1.0); +} +vec3 blend_soft_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_soft_light_f(c1.x, c2.x), blend_soft_light_f(c1.y, c2.y), blend_soft_light_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_burn_f(float c1, float c2) { + return (c1==0.0)?c1:max((1.0-((1.0-c2)/c1)),0.0); +} +vec3 blend_burn(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_burn_f(c1.x, c2.x), blend_burn_f(c1.y, c2.y), blend_burn_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_dodge_f(float c1, float c2) { + return (c1==1.0)?c1:min(c2/(1.0-c1),1.0); +} +vec3 blend_dodge(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_dodge_f(c1.x, c2.x), blend_dodge_f(c1.y, c2.y), blend_dodge_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +vec3 blend_lighten(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*max(c1, c2) + (1.0-opacity)*c2; +} +vec3 blend_darken(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*min(c1, c2) + (1.0-opacity)*c2; +} +vec3 blend_difference(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*clamp(c2-c1, vec3(0.0), vec3(1.0)) + (1.0-opacity)*c2; +} +vec3 blend_additive(vec2 uv, vec3 c1, vec3 c2, float oppacity) { + return c2 + c1 * oppacity; +} +vec3 blend_addsub(vec2 uv, vec3 c1, vec3 c2, float oppacity) { + return c2 + (c1 - .5) * 2.0 * oppacity; +} +float blend_linear_light_f(float c1, float c2) { + return (c1 + 2.0 * c2) - 1.0; +} +vec3 blend_linear_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { +return opacity*vec3(blend_linear_light_f(c1.x, c2.x), blend_linear_light_f(c1.y, c2.y), blend_linear_light_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_vivid_light_f(float c1, float c2) { + return (c1 < 0.5) ? 1.0 - (1.0 - c2) / (2.0 * c1) : c2 / (2.0 * (1.0 - c1)); +} +vec3 blend_vivid_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_vivid_light_f(c1.x, c2.x), blend_vivid_light_f(c1.y, c2.y), blend_vivid_light_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_pin_light_f( float c1, float c2) { + return (2.0 * c1 - 1.0 > c2) ? 2.0 * c1 - 1.0 : ((c1 < 0.5 * c2) ? 2.0 * c1 : c2); +} +vec3 blend_pin_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_pin_light_f(c1.x, c2.x), blend_pin_light_f(c1.y, c2.y), blend_pin_light_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_hard_mix_f(float c1, float c2) { + return floor(c1 + c2); +} +vec3 blend_hard_mix(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_hard_mix_f(c1.x, c2.x), blend_hard_mix_f(c1.y, c2.y), blend_hard_mix_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float blend_exclusion_f(float c1, float c2) { + return c1 + c2 - 2.0 * c1 * c2; +} +vec3 blend_exclusion(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_exclusion_f(c1.x, c2.x), blend_exclusion_f(c1.y, c2.y), blend_exclusion_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} +float pingpong(float a, float b) +{ + return (b != 0.0) ? abs(fract((a - b) / (b * 2.0)) * b * 2.0 - b) : 0.0; +} +vec3 rgb_to_hsv(vec3 c) { + vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy); + vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx); + float d = q.x - min(q.w, q.y); + float e = 1.0e-10; + return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} +vec3 hsv_to_rgb(vec3 c) { + vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} +float anisotropic(vec2 uv, vec2 size, float seed, float smoothness, float interpolation) { + vec2 seed2 = rand2(vec2(seed, 1.0-seed)); + + vec2 xy = floor(uv*size); + vec2 offset = vec2(rand(seed2 + xy.y), 0.0); + vec2 xy_offset = floor(uv * size + offset ); + float f0 = rand(seed2+mod(xy_offset, size)); + float f1 = rand(seed2+mod(xy_offset+vec2(1.0, 0.0), size)); + float mixer = clamp( (fract(uv.x*size.x+offset.x) -.5) / smoothness + 0.5, 0.0, 1.0 ); + float smooth_mix = smoothstep(0.0, 1.0, mixer); + float linear = mix(f0, f1, mixer); + float smoothed = mix(f0, f1, smooth_mix); + + return mix(linear, smoothed, interpolation); +} +vec2 get_from_tileset(float count, float seed, vec2 uv) { + return clamp((uv+floor(rand2(vec2(seed))*count))/count, vec2(0.0), vec2(1.0)); +} +vec2 custom_uv_transform(vec2 uv, vec2 cst_scale, float rnd_rotate, float rnd_scale, vec2 seed) { + seed = rand2(seed); + uv -= vec2(0.5); + float angle = (seed.x * 2.0 - 1.0) * rnd_rotate; + float ca = cos(angle); + float sa = sin(angle); + uv = vec2(ca*uv.x+sa*uv.y, -sa*uv.x+ca*uv.y); + uv *= (seed.y-0.5)*2.0*rnd_scale+1.0; + uv /= cst_scale; + uv += vec2(0.5); + return uv; +} +uniform sampler2D texture_4; +const float texture_4_size = 2048.0; +uniform sampler2D texture_5; +const float texture_5_size = 256.0; +vec2 scale(vec2 uv, vec2 center, vec2 scale) { + uv -= center; + uv /= scale; + uv += center; + return uv; +} +const float p_o10429_hue = -0.600000000; +const float p_o10429_saturation = 1.000000000; +const float p_o10429_value = 1.000000000; +const float p_o9637_amount1 = 1.000000000; +const float p_o9652_hue = 0.600000000; +const float p_o9652_saturation = 1.713783000; +const float p_o9652_value = 1.000000000; +const float p_o9638_amount1 = 0.000000000; +const float seed_o9633 = 0.000000000; +const float p_o9633_sx = 1.000000000; +const float p_o9633_sy = 1.000000000; +const float p_o9633_rotate = 0.000000000; +const float p_o9633_scale = 0.000000000; +const float seed_o9679 = 0.000000000; +const float p_o9679_sx = 1.000000000; +const float p_o9679_sy = 1.000000000; +const float p_o9679_rotate = 0.000000000; +const float p_o9679_scale = 0.000000000; +const float p_o10121_default_in1 = 0.000000000; +const float p_o10121_default_in2 = 0.000000000; +const float p_o10120_default_in1 = 0.000000000; +const float p_o10120_default_in2 = 0.000000000; +const float p_o9701_amount1 = 1.000000000; +const float p_o9701_amount2 = 1.000000000; +const float p_o9701_amount3 = 1.000000000; +const float p_o9663_translate_x = 0.000000000; +const float p_o9663_translate_y = 0.000800000; +const float p_o9663_rotate = 0.000000000; +const float p_o9663_scale_x = 1.000000000; +const float p_o9663_scale_y = 1.000000000; +const float p_o10099_amount = -0.650000000; +const float p_o10099_center = -1.600000000; +const float p_o9590_all = 1.000000000; +const float p_o9590_hue = 1.680000000; +const float p_o9590_value = 1.000000000; +const float p_o9590_saturation = 1.000000000; +const float p_o10096_hue = 0.247700000; +const float p_o10096_saturation = 1.703550000; +const float p_o10096_value = 1.959050000; +const float p_o9557_amount1 = 1.000000000; +const float p_o9557_amount2 = 0.860000000; +const float p_o9583_amount1 = 1.000000000; +const float p_o9474_translate_y = 0.000000000; +const float p_o9474_rotate = 0.000000000; +const float p_o9474_scale_x = 1.000000000; +const float p_o9474_scale_y = 1.000000000; +const float p_o9487_min = 0.750000000; +const float p_o9487_max = 1.500000000; +const float p_o9487_step = 0.000000000; +const float p_o9585_x = 1.000000000; +const float p_o9585_y = 8.000000000; +const float p_o9585_c = 32.000000000; +const float p_o9585_d = 0.000000000; +const float p_o9582_translate_y = 0.000000000; +const float p_o9582_rotate = 0.000000000; +const float p_o9582_scale_x = 4.000000000; +const float p_o9582_scale_y = 4.000000000; +const float p_o9584_x = 16.000000000; +const float p_o9584_y = 8.000000000; +const float p_o9584_c = 15.000000000; +const float p_o9584_d = -0.340000000; +const float p_o9596_translate_x = 0.000000000; +const float p_o9596_translate_y = 0.000000000; +const float p_o9596_rotate = 0.000000000; +const float p_o9596_scale_x = 8.000000000; +const float p_o9596_scale_y = 1.000000000; +const float p_o9597_value = 0.700000000; +const float p_o9597_width = 0.000000000; +const float seed_o9589 = 0.000000000; +const float seed_o9559 = 0.000000000; +const float p_o9559_edgecolor = 1.000000000; +const float p_o9558_repeat = 4.000000000; +const float p_o9558_rows = 8.000000000; +const float p_o9558_columns = 4.000000000; +const float p_o9558_row_offset = 0.500000000; +const float p_o9558_mortar = 0.050000000; +const float p_o9558_bevel = 0.050000000; +const float p_o9558_round = 0.000000000; +const float p_o9558_corner = 0.300000000; +vec3 o10092_input_in(vec2 uv, float _seed_variation_) { +vec2 o9585_0_uv = floor(((uv)*vec2(p_o9585_x, p_o9585_y)))+vec2(0.5); +vec3 o9585_0_dither = fract(vec3(dot(vec2(171.0, 231.0), o9585_0_uv))/vec3(103.0, 71.0, 97.0)); +vec4 o9481_0 = textureLod(texture_2, o9585_0_uv/vec2(p_o9585_x, p_o9585_y), 0.0); +vec3 o9585_0_1_rgb = floor(((o9481_0).rgb)*p_o9585_c+p_o9585_d*(o9585_0_dither-vec3(0.5)))/p_o9585_c; +float o9487_0_x = (dot(o9585_0_1_rgb, vec3(1.0))/3.0)*(p_o9487_max-p_o9487_min);float o9487_0_1_f = p_o9487_min+o9487_0_x-mod(o9487_0_x, max(p_o9487_step, 0.00000001)); +vec4 o9479_0 = textureLod(texture_1, fract(transform2((uv), vec2((elapsed_time / 3.0)*(2.0*o9487_0_1_f-1.0), p_o9474_translate_y*(2.0*1.0-1.0)), p_o9474_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9474_scale_x*(2.0*1.0-1.0), p_o9474_scale_y*(2.0*1.0-1.0)))), 0.0); +vec4 o9474_0_1_rgba = o9479_0; +vec2 o9584_0_uv = floor(((fract(transform2((uv), vec2((elapsed_time / 3.0)*(2.0*o9487_0_1_f-1.0), p_o9582_translate_y*(2.0*1.0-1.0)), p_o9582_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9582_scale_x*(2.0*1.0-1.0), p_o9582_scale_y*(2.0*1.0-1.0)))))*vec2(p_o9584_x, p_o9584_y)))+vec2(0.5); +vec3 o9584_0_dither = fract(vec3(dot(vec2(171.0, 231.0), o9584_0_uv))/vec3(103.0, 71.0, 97.0)); +vec4 o9558_0_rect = bricks_rb((o9584_0_uv/vec2(p_o9584_x, p_o9584_y)), vec2(p_o9558_columns, p_o9558_rows), p_o9558_repeat, p_o9558_row_offset); +vec4 o9558_0 = brick((o9584_0_uv/vec2(p_o9584_x, p_o9584_y)), o9558_0_rect.xy, o9558_0_rect.zw, p_o9558_mortar*1.0, p_o9558_round*1.0, max(0.001, p_o9558_bevel*1.0), 1.0 / p_o9558_rows);vec4 o9558_1_2_fill = round(vec4(fract(o9558_0_rect.xy), o9558_0_rect.zw - o9558_0_rect.xy)*4096.0)/4096.0; +vec4 o9559_0_bb = o9558_1_2_fill;float o9559_0_1_f = mix(p_o9559_edgecolor, rand(vec2(float((seed_o9559+fract(_seed_variation_))), rand(vec2(rand(o9559_0_bb.xy), rand(o9559_0_bb.zw))))), step(0.0000001, dot(o9559_0_bb.zw, vec2(1.0)))); +vec3 o9589_0_rand = vec3(o9559_0_1_f);vec3 o9589_0_1_rgb = rand3( vec2( float((seed_o9589+fract(_seed_variation_))) + o9589_0_rand.x, rand( o9589_0_rand.yz ) ) ); +vec3 o9597_0_false = clamp((vec4(o9589_0_1_rgb, 1.0).rgb-vec3(p_o9597_value))/max(0.0001, p_o9597_width)+vec3(0.5), vec3(0.0), vec3(1.0)); +vec3 o9597_0_true = vec3(1.0)-o9597_0_false;vec4 o9597_0_1_rgba = vec4(o9597_0_false, vec4(o9589_0_1_rgb, 1.0).a); +vec4 o9580_0 = textureLod(texture_3, fract(transform2((o9584_0_uv/vec2(p_o9584_x, p_o9584_y)), vec2(p_o9596_translate_x*(2.0*1.0-1.0), p_o9596_translate_y*(2.0*1.0-1.0)), p_o9596_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9596_scale_x*(2.0*(dot((o9597_0_1_rgba).rgb, vec3(1.0))/3.0)-1.0), p_o9596_scale_y*(2.0*1.0-1.0)))), 0.0); +vec4 o9596_0_1_rgba = o9580_0; +vec3 o9584_0_1_rgb = floor(((o9596_0_1_rgba).rgb)*p_o9584_c+p_o9584_d*(o9584_0_dither-vec3(0.5)))/p_o9584_c; +vec4 o9582_0_1_rgba = vec4(o9584_0_1_rgb, 1.0); +vec4 o9583_0_b = o9474_0_1_rgba; +vec4 o9583_0_l; +float o9583_0_a; +o9583_0_l = o9582_0_1_rgba; +o9583_0_a = p_o9583_amount1*1.0; +o9583_0_b = vec4(blend_screen((uv), o9583_0_l.rgb, o9583_0_b.rgb, o9583_0_a*o9583_0_l.a), min(1.0, o9583_0_b.a+o9583_0_a*o9583_0_l.a)); +vec4 o9583_0_2_rgba = o9583_0_b; +vec4 o9556_0_1_rgba = vec4(vec3(1.0)-o9583_0_2_rgba.rgb, o9583_0_2_rgba.a); +return ((o9556_0_1_rgba).rgb); +} +vec3 o10092_fct(vec2 uv, float _seed_variation_) { + vec2 e = vec2(1.0/512.000000000, 0.0); + vec3 rv = 5.0*o10092_input_in(uv, _seed_variation_); + rv -= o10092_input_in(uv+e.xy, _seed_variation_); + rv -= o10092_input_in(uv-e.xy, _seed_variation_); + rv -= o10092_input_in(uv+e.yx, _seed_variation_); + rv -= o10092_input_in(uv-e.yx, _seed_variation_); + return rv; +}const float p_o9555_min = -1.170000000; +const float p_o9555_max = 10.000000000; +const float p_o9555_step = 0.000000000; +const float p_o9486_default_in1 = 0.540000000; +const float p_o9486_default_in2 = 0.000000000; +const float p_o9485_default_in1 = 0.000000000; +const float p_o9485_default_in2 = 1.000000000; +const float p_o9484_default_in1 = 0.000000000; +const float p_o9484_default_in2 = 4.260000000; +const float p_o9472_repeat = 1.000000000; +const float p_o9472_rows = 8.000000000; +const float p_o9472_columns = 1.000000000; +const float p_o9472_row_offset = 0.000000000; +const float p_o9472_mortar = 0.050000000; +const float p_o9472_bevel = 0.050000000; +const float p_o9472_round = 0.000000000; +const float p_o9472_corner = 0.300000000; +const float p_o10091_brightness = 0.380000000; +const float p_o10091_contrast = 2.190000000; +const float p_o10072_gradient_0_pos = 0.070540000; +const vec4 p_o10072_gradient_0_col = vec4(1.000000000, 1.000000000, 1.000000000, 1.000000000); +const float p_o10072_gradient_1_pos = 0.259933000; +const vec4 p_o10072_gradient_1_col = vec4(1.000000000, 1.000000000, 1.000000000, 1.000000000); +const float p_o10072_gradient_2_pos = 0.327273000; +const vec4 p_o10072_gradient_2_col = vec4(0.000000000, 0.671387017, 0.781250000, 1.000000000); +const float p_o10072_gradient_3_pos = 0.417761000; +const vec4 p_o10072_gradient_3_col = vec4(0.254099011, 0.769531012, 0.210418999, 1.000000000); +const float p_o10072_gradient_4_pos = 0.708165000; +const vec4 p_o10072_gradient_4_col = vec4(0.044307001, 0.420812994, 0.025781000, 1.000000000); +const float p_o10072_gradient_5_pos = 0.745455000; +const vec4 p_o10072_gradient_5_col = vec4(0.046813998, 0.460938007, 0.000000000, 1.000000000); +const float p_o10072_gradient_6_pos = 0.827872000; +const vec4 p_o10072_gradient_6_col = vec4(1.000000000, 1.000000000, 1.000000000, 1.000000000); +const float p_o10072_gradient_7_pos = 1.000000000; +const vec4 p_o10072_gradient_7_col = vec4(1.000000000, 0.164061993, 0.000000000, 1.000000000); +vec4 o10072_gradient_gradient_fct(float x) { + if (x < p_o10072_gradient_0_pos) { + return p_o10072_gradient_0_col; + } else if (x < p_o10072_gradient_1_pos) { + return mix(p_o10072_gradient_0_col, p_o10072_gradient_1_col, ((x-p_o10072_gradient_0_pos)/(p_o10072_gradient_1_pos-p_o10072_gradient_0_pos))); + } else if (x < p_o10072_gradient_2_pos) { + return mix(p_o10072_gradient_1_col, p_o10072_gradient_2_col, ((x-p_o10072_gradient_1_pos)/(p_o10072_gradient_2_pos-p_o10072_gradient_1_pos))); + } else if (x < p_o10072_gradient_3_pos) { + return mix(p_o10072_gradient_2_col, p_o10072_gradient_3_col, ((x-p_o10072_gradient_2_pos)/(p_o10072_gradient_3_pos-p_o10072_gradient_2_pos))); + } else if (x < p_o10072_gradient_4_pos) { + return mix(p_o10072_gradient_3_col, p_o10072_gradient_4_col, ((x-p_o10072_gradient_3_pos)/(p_o10072_gradient_4_pos-p_o10072_gradient_3_pos))); + } else if (x < p_o10072_gradient_5_pos) { + return mix(p_o10072_gradient_4_col, p_o10072_gradient_5_col, ((x-p_o10072_gradient_4_pos)/(p_o10072_gradient_5_pos-p_o10072_gradient_4_pos))); + } else if (x < p_o10072_gradient_6_pos) { + return mix(p_o10072_gradient_5_col, p_o10072_gradient_6_col, ((x-p_o10072_gradient_5_pos)/(p_o10072_gradient_6_pos-p_o10072_gradient_5_pos))); + } else if (x < p_o10072_gradient_7_pos) { + return mix(p_o10072_gradient_6_col, p_o10072_gradient_7_col, ((x-p_o10072_gradient_6_pos)/(p_o10072_gradient_7_pos-p_o10072_gradient_6_pos))); + } + return p_o10072_gradient_7_col; +} +const float p_o9587_amount1 = 0.210000000; +const float p_o9598_default_in1 = 0.000000000; +const float p_o9598_default_in2 = 1.000000000; +const float p_o9599_default_in1 = 0.000000000; +const float p_o9599_default_in2 = 27.830000000; +const float p_o9588_default_in2 = 5.000000000; +const float p_o9702_x = 512.000000000; +const float p_o9702_y = 512.000000000; +const float p_o9702_c = 8.000000000; +const float p_o9702_d = 0.000000000; +const float p_o10098_translate_x = 0.000000000; +const float p_o10098_translate_y = 0.000000000; +const float p_o10098_rotate = 60.000000000; +const float p_o10098_scale_x = 1.000000000; +const float p_o10098_scale_y = 1.000000000; +const float seed_o9672 = 0.000000000; +const float p_o9672_scale_x = 1.000000000; +const float p_o9672_scale_y = 256.000000000; +const float p_o9672_smoothness = 0.050000000; +const float p_o9672_interpolation = 0.100000000; +const float p_o10101_amount1 = 1.000000000; +const float p_o9673_value = 0.950000000; +const float p_o9673_width = 0.000000000; +const float p_o10105_value = 0.210000000; +const float p_o10105_width = 0.300000000; +const float p_o10105_contrast = 1.000000000; +const float seed_o10112 = 0.174753398; +const float p_o10112_edgecolor = 1.000000000; +const float p_o10111_repeat = 1.000000000; +const float p_o10111_rows = 4.000000000; +const float p_o10111_columns = 4.000000000; +const float p_o10111_row_offset = 0.000000000; +const float p_o10111_mortar = 0.000000000; +const float p_o10111_bevel = 0.000000000; +const float p_o10111_round = 0.000000000; +const float p_o10111_corner = 0.300000000; +const float p_o9716_default_in1 = 0.000000000; +const float p_o9716_default_in2 = 0.000000000; +const float p_o9715_value = 0.430000000; +const float p_o9715_width = 0.090000000; +const float p_o9715_contrast = 1.000000000; +const float p_o9717_value = 0.430000000; +const float p_o9717_width = 0.040000000; +const float p_o9717_contrast = 1.000000000; +const float p_o10103_default_in1 = 0.000000000; +const float p_o10103_default_in2 = 0.000000000; +const float p_o9710_default_in1 = 0.000000000; +const float p_o9710_default_in2 = 0.000000000; +const float p_o9706_default_in1 = 0.000000000; +const float p_o9706_default_in2 = 0.000000000; +const float p_o9704_default_in1 = 0.000000000; +const float p_o9704_default_in2 = 15.850000000; +const float p_o10106_default_in1 = 0.000000000; +const float p_o10106_default_in2 = 0.000000000; +const float p_o9713_default_in1 = 0.000000000; +const float p_o9713_default_in2 = 0.000000000; +const float seed_o9714 = 0.000000000; +const float p_o9714_scale_x = 1.000000000; +const float p_o9714_scale_y = 1024.000000000; +const float p_o9714_smoothness = 0.000000000; +const float p_o9714_interpolation = 0.100000000; +const float p_o9705_default_in1 = 0.000000000; +const float p_o9705_default_in2 = -0.670000000; +const float p_o9709_default_in1 = 0.000000000; +const float p_o9709_default_in2 = 39.070000000; +const float p_o9707_default_in1 = 0.000000000; +const float p_o9707_default_in2 = 4.470000000; +const float p_o9708_default_in1 = 0.000000000; +const float p_o9708_default_in2 = 14.690000000; +const float p_o10110_value = 0.470000000; +const float p_o10110_width = 0.010000000; +const float p_o10110_contrast = 0.230000000; +const float p_o10116_amount = 1.000000000; +const float p_o10119_color = 0.000000000; +const float p_o10118_color = 1.000000000; +const float p_o10117_default_in1 = 0.000000000; +const float p_o10117_default_in2 = 0.000000000; +const float p_o10115_amount = 1.000000000; +const float p_o10187_default_in1 = 0.000000000; +const float p_o10187_default_in2 = 0.000000000; +const float p_o10186_default_in1 = 0.000000000; +const float p_o10186_default_in2 = 0.000000000; +const float p_o10182_amount = 1.000000000; +const float p_o10185_color = 0.000000000; +const float p_o10184_color = 1.000000000; +const float p_o10183_default_in1 = 0.000000000; +const float p_o10183_default_in2 = 0.000000000; +const float p_o10181_amount = 1.000000000; +const float p_o10253_default_in1 = 0.000000000; +const float p_o10253_default_in2 = 0.000000000; +const float p_o10252_default_in1 = 0.000000000; +const float p_o10252_default_in2 = 0.000000000; +const float p_o10248_amount = 1.000000000; +const float p_o10251_color = 0.000000000; +const float p_o10250_color = 1.000000000; +const float p_o10249_default_in1 = 0.000000000; +const float p_o10249_default_in2 = 0.000000000; +const float p_o10247_amount = 1.000000000; +vec4 o9679_input_in(vec2 uv, float _seed_variation_) { +vec3 o10092_0_1_rgb = o10092_fct(((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0)))))+p_o10099_amount*((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0))))).yx-vec2(p_o10099_center))*vec2(1.0, 0.0)), _seed_variation_); +vec2 o9585_0_uv = floor((((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0)))))+p_o10099_amount*((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0))))).yx-vec2(p_o10099_center))*vec2(1.0, 0.0))*vec2(p_o9585_x, p_o9585_y)))+vec2(0.5); +vec3 o9585_0_dither = fract(vec3(dot(vec2(171.0, 231.0), o9585_0_uv))/vec3(103.0, 71.0, 97.0)); +vec4 o9481_0 = textureLod(texture_2, o9585_0_uv/vec2(p_o9585_x, p_o9585_y), 0.0); +vec3 o9585_0_1_rgb = floor(((o9481_0).rgb)*p_o9585_c+p_o9585_d*(o9585_0_dither-vec3(0.5)))/p_o9585_c; +float o9487_0_x = (dot(o9585_0_1_rgb, vec3(1.0))/3.0)*(p_o9487_max-p_o9487_min);float o9487_0_1_f = p_o9487_min+o9487_0_x-mod(o9487_0_x, max(p_o9487_step, 0.00000001)); +vec4 o9479_0 = textureLod(texture_1, fract(transform2(((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0)))))+p_o10099_amount*((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0))))).yx-vec2(p_o10099_center))*vec2(1.0, 0.0)), vec2((elapsed_time / 3.0)*(2.0*o9487_0_1_f-1.0), p_o9474_translate_y*(2.0*1.0-1.0)), p_o9474_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9474_scale_x*(2.0*1.0-1.0), p_o9474_scale_y*(2.0*1.0-1.0)))), 0.0); +vec4 o9474_0_1_rgba = o9479_0; +vec2 o9584_0_uv = floor(((fract(transform2(((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0)))))+p_o10099_amount*((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0))))).yx-vec2(p_o10099_center))*vec2(1.0, 0.0)), vec2((elapsed_time / 3.0)*(2.0*o9487_0_1_f-1.0), p_o9582_translate_y*(2.0*1.0-1.0)), p_o9582_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9582_scale_x*(2.0*1.0-1.0), p_o9582_scale_y*(2.0*1.0-1.0)))))*vec2(p_o9584_x, p_o9584_y)))+vec2(0.5); +vec3 o9584_0_dither = fract(vec3(dot(vec2(171.0, 231.0), o9584_0_uv))/vec3(103.0, 71.0, 97.0)); +vec4 o9558_0_rect = bricks_rb((o9584_0_uv/vec2(p_o9584_x, p_o9584_y)), vec2(p_o9558_columns, p_o9558_rows), p_o9558_repeat, p_o9558_row_offset); +vec4 o9558_0 = brick((o9584_0_uv/vec2(p_o9584_x, p_o9584_y)), o9558_0_rect.xy, o9558_0_rect.zw, p_o9558_mortar*1.0, p_o9558_round*1.0, max(0.001, p_o9558_bevel*1.0), 1.0 / p_o9558_rows);vec4 o9558_1_2_fill = round(vec4(fract(o9558_0_rect.xy), o9558_0_rect.zw - o9558_0_rect.xy)*4096.0)/4096.0; +vec4 o9559_0_bb = o9558_1_2_fill;float o9559_0_1_f = mix(p_o9559_edgecolor, rand(vec2(float((seed_o9559+fract(_seed_variation_))), rand(vec2(rand(o9559_0_bb.xy), rand(o9559_0_bb.zw))))), step(0.0000001, dot(o9559_0_bb.zw, vec2(1.0)))); +vec3 o9589_0_rand = vec3(o9559_0_1_f);vec3 o9589_0_1_rgb = rand3( vec2( float((seed_o9589+fract(_seed_variation_))) + o9589_0_rand.x, rand( o9589_0_rand.yz ) ) ); +vec3 o9597_0_false = clamp((vec4(o9589_0_1_rgb, 1.0).rgb-vec3(p_o9597_value))/max(0.0001, p_o9597_width)+vec3(0.5), vec3(0.0), vec3(1.0)); +vec3 o9597_0_true = vec3(1.0)-o9597_0_false;vec4 o9597_0_1_rgba = vec4(o9597_0_false, vec4(o9589_0_1_rgb, 1.0).a); +vec4 o9580_0 = textureLod(texture_3, fract(transform2((o9584_0_uv/vec2(p_o9584_x, p_o9584_y)), vec2(p_o9596_translate_x*(2.0*1.0-1.0), p_o9596_translate_y*(2.0*1.0-1.0)), p_o9596_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9596_scale_x*(2.0*(dot((o9597_0_1_rgba).rgb, vec3(1.0))/3.0)-1.0), p_o9596_scale_y*(2.0*1.0-1.0)))), 0.0); +vec4 o9596_0_1_rgba = o9580_0; +vec3 o9584_0_1_rgb = floor(((o9596_0_1_rgba).rgb)*p_o9584_c+p_o9584_d*(o9584_0_dither-vec3(0.5)))/p_o9584_c; +vec4 o9582_0_1_rgba = vec4(o9584_0_1_rgb, 1.0); +vec4 o9583_0_b = o9474_0_1_rgba; +vec4 o9583_0_l; +float o9583_0_a; +o9583_0_l = o9582_0_1_rgba; +o9583_0_a = p_o9583_amount1*1.0; +o9583_0_b = vec4(blend_screen(((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0)))))+p_o10099_amount*((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0))))).yx-vec2(p_o10099_center))*vec2(1.0, 0.0)), o9583_0_l.rgb, o9583_0_b.rgb, o9583_0_a*o9583_0_l.a), min(1.0, o9583_0_b.a+o9583_0_a*o9583_0_l.a)); +vec4 o9583_0_2_rgba = o9583_0_b; +vec4 o9472_0_rect = bricks_rb(((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0)))))+p_o10099_amount*((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0))))).yx-vec2(p_o10099_center))*vec2(1.0, 0.0)), vec2(p_o9472_columns, p_o9472_rows), p_o9472_repeat, p_o9472_row_offset); +vec4 o9472_0 = brick(((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0)))))+p_o10099_amount*((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0))))).yx-vec2(p_o10099_center))*vec2(1.0, 0.0)), o9472_0_rect.xy, o9472_0_rect.zw, p_o9472_mortar*1.0, p_o9472_round*1.0, max(0.001, p_o9472_bevel*1.0), 1.0 / p_o9472_rows);vec4 o9472_1_2_fill = round(vec4(fract(o9472_0_rect.xy), o9472_0_rect.zw - o9472_0_rect.xy)*4096.0)/4096.0; +vec2 o9483_0_c = fract(o9472_1_2_fill.xy+0.5*o9472_1_2_fill.zw);float o9483_0_1_f = o9483_0_c.y; +float o9484_0_clamp_false = o9483_0_1_f*p_o9484_default_in2; +float o9484_0_clamp_true = clamp(o9484_0_clamp_false, 0.0, 1.0); +float o9484_0_2_f = o9484_0_clamp_false; +float o9485_0_clamp_false = mod(o9484_0_2_f, p_o9485_default_in2); +float o9485_0_clamp_true = clamp(o9485_0_clamp_false, 0.0, 1.0); +float o9485_0_2_f = o9485_0_clamp_true; +float o9486_0_clamp_false = (1.0-step(o9485_0_2_f,p_o9486_default_in1)); +float o9486_0_clamp_true = clamp(o9486_0_clamp_false, 0.0, 1.0); +float o9486_0_2_f = o9486_0_clamp_false; +float o9555_0_x = o9486_0_2_f*(p_o9555_max-p_o9555_min);float o9555_0_1_f = p_o9555_min+o9555_0_x-mod(o9555_0_x, max(p_o9555_step, 0.00000001)); +vec4 o10072_0_1_rgba = o10072_gradient_gradient_fct(o9485_0_2_f); +vec4 o10091_0_1_rgba = vec4(clamp(o10072_0_1_rgba.rgb*p_o10091_contrast+vec3(p_o10091_brightness)+0.5-p_o10091_contrast*0.5, vec3(0.0), vec3(1.0)), o10072_0_1_rgba.a); +vec4 o9557_0_b = vec4(o10092_0_1_rgb, 1.0); +vec4 o9557_0_l; +float o9557_0_a; +o9557_0_l = o9583_0_2_rgba; +o9557_0_a = p_o9557_amount1*o9555_0_1_f; +o9557_0_b = vec4(blend_normal(((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0)))))+p_o10099_amount*((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0))))).yx-vec2(p_o10099_center))*vec2(1.0, 0.0)), o9557_0_l.rgb, o9557_0_b.rgb, o9557_0_a*o9557_0_l.a), min(1.0, o9557_0_b.a+o9557_0_a*o9557_0_l.a)); +o9557_0_l = o10091_0_1_rgba; +o9557_0_a = p_o9557_amount2*1.0; +o9557_0_b = vec4(blend_burn(((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0)))))+p_o10099_amount*((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0))))).yx-vec2(p_o10099_center))*vec2(1.0, 0.0)), o9557_0_l.rgb, o9557_0_b.rgb, o9557_0_a*o9557_0_l.a), min(1.0, o9557_0_b.a+o9557_0_a*o9557_0_l.a)); +vec4 o9557_0_2_rgba = o9557_0_b; +vec4 o10096_0_rbga = o9557_0_2_rgba; +vec3 o10096_0_hsv = rgb_to_hsv(o10096_0_rbga.rgb); +o10096_0_hsv.x += p_o10096_hue; +o10096_0_hsv.y = clamp(o10096_0_hsv.y*p_o10096_saturation, 0.0, 1.0); +o10096_0_hsv.z = clamp(o10096_0_hsv.z*p_o10096_value, 0.0, 1.0); + vec4 o10096_0_1_rgba = vec4(hsv_to_rgb(o10096_0_hsv), o10096_0_rbga.a); +float o9599_0_clamp_false = (dot(o9585_0_1_rgb, vec3(1.0))/3.0)*p_o9599_default_in2; +float o9599_0_clamp_true = clamp(o9599_0_clamp_false, 0.0, 1.0); +float o9599_0_2_f = o9599_0_clamp_false; +float o9598_0_clamp_false = mod(o9599_0_2_f, p_o9598_default_in2); +float o9598_0_clamp_true = clamp(o9598_0_clamp_false, 0.0, 1.0); +float o9598_0_2_f = o9598_0_clamp_false; +float o9588_0_clamp_false = sin((elapsed_time)*p_o9588_default_in2); +float o9588_0_clamp_true = clamp(o9588_0_clamp_false, 0.0, 1.0); +float o9588_0_2_f = o9588_0_clamp_true; +vec4 o9587_0_b = vec4(vec3(o9598_0_2_f), 1.0); +vec4 o9587_0_l; +float o9587_0_a; +o9587_0_l = o9582_0_1_rgba; +o9587_0_a = p_o9587_amount1*o9588_0_2_f; +o9587_0_b = vec4(blend_normal(((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0)))))+p_o10099_amount*((transform2_clamp(transform2((uv), vec2(p_o9663_translate_x*(2.0*1.0-1.0), p_o9663_translate_y*(2.0*1.0-1.0)), p_o9663_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o9663_scale_x*(2.0*1.0-1.0), p_o9663_scale_y*(2.0*1.0-1.0))))).yx-vec2(p_o10099_center))*vec2(1.0, 0.0)), o9587_0_l.rgb, o9587_0_b.rgb, o9587_0_a*o9587_0_l.a), min(1.0, o9587_0_b.a+o9587_0_a*o9587_0_l.a)); +vec4 o9587_0_1_rgba = o9587_0_b; +vec4 o9590_0_rbga = o10096_0_1_rgba; +vec3 o9590_0_hsv = rgb_to_hsv(o9590_0_rbga.rgb); +o9590_0_hsv.x = fract(o9590_0_hsv.x+p_o9590_hue*p_o9590_all*((dot((o9587_0_1_rgba).rgb, vec3(1.0))/3.0)-0.5)); +o9590_0_hsv.y = clamp(o9590_0_hsv.y+p_o9590_saturation*p_o9590_all*(0.5-0.5), 0.0, 1.0); +o9590_0_hsv.z = clamp(o9590_0_hsv.z+p_o9590_value*p_o9590_all*(0.5-0.5), 0.0, 1.0); + vec4 o9590_0_2_rgba = vec4(hsv_to_rgb(o9590_0_hsv), o9590_0_rbga.a); +vec4 o10099_0_1_rgba = o9590_0_2_rgba; +vec4 o9663_0_1_rgba = o10099_0_1_rgba; +vec2 o9702_0_uv = floor(((uv)*vec2(p_o9702_x, p_o9702_y)))+vec2(0.5); +vec3 o9702_0_dither = fract(vec3(dot(vec2(171.0, 231.0), o9702_0_uv))/vec3(103.0, 71.0, 97.0)); +float o9672_0_1_f = anisotropic((fract(transform2((o9702_0_uv/vec2(p_o9702_x, p_o9702_y)), vec2(p_o10098_translate_x*(2.0*1.0-1.0), p_o10098_translate_y*(2.0*1.0-1.0)), p_o10098_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o10098_scale_x*(2.0*1.0-1.0), p_o10098_scale_y*(2.0*1.0-1.0))))), vec2(p_o9672_scale_x, p_o9672_scale_y), (seed_o9672+fract(_seed_variation_)), p_o9672_smoothness, p_o9672_interpolation); +vec4 o10098_0_1_rgba = vec4(vec3(o9672_0_1_f), 1.0); +vec3 o9702_0_1_rgb = floor(((o10098_0_1_rgba).rgb)*p_o9702_c+p_o9702_d*(o9702_0_dither-vec3(0.5)))/p_o9702_c; +float o9672_0_3_f = anisotropic((fract(transform2((uv), vec2(p_o10098_translate_x*(2.0*1.0-1.0), p_o10098_translate_y*(2.0*1.0-1.0)), p_o10098_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o10098_scale_x*(2.0*1.0-1.0), p_o10098_scale_y*(2.0*1.0-1.0))))), vec2(p_o9672_scale_x, p_o9672_scale_y), (seed_o9672+fract(_seed_variation_)), p_o9672_smoothness, p_o9672_interpolation); +vec4 o10098_0_4_rgba = vec4(vec3(o9672_0_3_f), 1.0); +vec3 o9673_0_false = clamp((o10098_0_4_rgba.rgb-vec3(p_o9673_value))/max(0.0001, p_o9673_width)+vec3(0.5), vec3(0.0), vec3(1.0)); +vec3 o9673_0_true = vec3(1.0)-o9673_0_false;vec4 o9673_0_1_rgba = vec4(o9673_0_false, o10098_0_4_rgba.a); +vec4 o10111_0_rect = bricks_rb((fract(transform2((uv), vec2(p_o10098_translate_x*(2.0*1.0-1.0), p_o10098_translate_y*(2.0*1.0-1.0)), p_o10098_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o10098_scale_x*(2.0*1.0-1.0), p_o10098_scale_y*(2.0*1.0-1.0))))), vec2(p_o10111_columns, p_o10111_rows), p_o10111_repeat, p_o10111_row_offset); +vec4 o10111_0 = brick((fract(transform2((uv), vec2(p_o10098_translate_x*(2.0*1.0-1.0), p_o10098_translate_y*(2.0*1.0-1.0)), p_o10098_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o10098_scale_x*(2.0*1.0-1.0), p_o10098_scale_y*(2.0*1.0-1.0))))), o10111_0_rect.xy, o10111_0_rect.zw, p_o10111_mortar*1.0, p_o10111_round*1.0, max(0.001, p_o10111_bevel*1.0), 1.0 / p_o10111_rows);vec4 o10111_1_2_fill = round(vec4(fract(o10111_0_rect.xy), o10111_0_rect.zw - o10111_0_rect.xy)*4096.0)/4096.0; +vec4 o10112_0_bb = o10111_1_2_fill;float o10112_0_1_f = mix(p_o10112_edgecolor, rand(vec2(float((seed_o10112+fract(_seed_variation_))), rand(vec2(rand(o10112_0_bb.xy), rand(o10112_0_bb.zw))))), step(0.0000001, dot(o10112_0_bb.zw, vec2(1.0)))); +vec4 o10098_2_6_rgba = vec4(vec3(o10112_0_1_f), 1.0); +float o10105_0_step = clamp(((dot((o10098_2_6_rgba).rgb, vec3(1.0))/3.0) - (p_o10105_value))/max(0.0001, p_o10105_width)+0.5, 0.0, 1.0); +float o10105_0_false = clamp((min(o10105_0_step, 1.0-o10105_0_step) * 2.0) / (1.0 - p_o10105_contrast), 0.0, 1.0); +float o10105_0_true = 1.0-o10105_0_false;float o10105_0_1_f = o10105_0_false; +vec4 o10101_0_b = o9673_0_1_rgba; +vec4 o10101_0_l; +float o10101_0_a; +o10101_0_l = o10098_0_4_rgba; +o10101_0_a = p_o10101_amount1*o10105_0_1_f; +o10101_0_b = vec4(blend_overlay((uv), o10101_0_l.rgb, o10101_0_b.rgb, o10101_0_a*o10101_0_l.a), min(1.0, o10101_0_b.a+o10101_0_a*o10101_0_l.a)); +vec4 o10101_0_1_rgba = o10101_0_b; +float o9715_0_step = clamp(((dot((o10098_0_4_rgba).rgb, vec3(1.0))/3.0) - (p_o9715_value))/max(0.0001, p_o9715_width)+0.5, 0.0, 1.0); +float o9715_0_false = clamp((min(o9715_0_step, 1.0-o9715_0_step) * 2.0) / (1.0 - p_o9715_contrast), 0.0, 1.0); +float o9715_0_true = 1.0-o9715_0_false;float o9715_0_1_f = o9715_0_false; +float o9703_0_1_f = (elapsed_time / 80.0); +float o9714_0_1_f = anisotropic((fract(transform2((uv), vec2(p_o10098_translate_x*(2.0*1.0-1.0), p_o10098_translate_y*(2.0*1.0-1.0)), p_o10098_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o10098_scale_x*(2.0*1.0-1.0), p_o10098_scale_y*(2.0*1.0-1.0))))), vec2(p_o9714_scale_x, p_o9714_scale_y), (seed_o9714+fract(_seed_variation_)), p_o9714_smoothness, p_o9714_interpolation); +vec4 o10098_1_7_rgba = vec4(vec3(o9714_0_1_f), 1.0); +float o9713_0_clamp_false = o9703_0_1_f+(dot((o10098_1_7_rgba).rgb, vec3(1.0))/3.0); +float o9713_0_clamp_true = clamp(o9713_0_clamp_false, 0.0, 1.0); +float o9713_0_1_f = o9713_0_clamp_false; +float o10106_0_clamp_false = o9713_0_1_f*o10105_0_1_f; +float o10106_0_clamp_true = clamp(o10106_0_clamp_false, 0.0, 1.0); +float o10106_0_1_f = o10106_0_clamp_false; +float o9704_0_clamp_false = sin(o10106_0_1_f*p_o9704_default_in2); +float o9704_0_clamp_true = clamp(o9704_0_clamp_false, 0.0, 1.0); +float o9704_0_2_f = o9704_0_clamp_false; +float o9709_0_clamp_false = o10106_0_1_f+p_o9709_default_in2; +float o9709_0_clamp_true = clamp(o9709_0_clamp_false, 0.0, 1.0); +float o9709_0_2_f = o9709_0_clamp_false; +float o9705_0_clamp_false = sin(o9709_0_2_f*p_o9705_default_in2); +float o9705_0_clamp_true = clamp(o9705_0_clamp_false, 0.0, 1.0); +float o9705_0_2_f = o9705_0_clamp_false; +float o9706_0_clamp_false = o9704_0_2_f/o9705_0_2_f; +float o9706_0_clamp_true = clamp(o9706_0_clamp_false, 0.0, 1.0); +float o9706_0_1_f = o9706_0_clamp_true; +float o9708_0_clamp_false = o10106_0_1_f+p_o9708_default_in2; +float o9708_0_clamp_true = clamp(o9708_0_clamp_false, 0.0, 1.0); +float o9708_0_2_f = o9708_0_clamp_false; +float o9707_0_clamp_false = sin(o9708_0_2_f*p_o9707_default_in2); +float o9707_0_clamp_true = clamp(o9707_0_clamp_false, 0.0, 1.0); +float o9707_0_2_f = o9707_0_clamp_false; +float o9710_0_clamp_false = o9706_0_1_f+o9707_0_2_f; +float o9710_0_clamp_true = clamp(o9710_0_clamp_false, 0.0, 1.0); +float o9710_0_1_f = o9710_0_clamp_true; +float o10103_0_clamp_false = o9710_0_1_f*o10105_0_1_f; +float o10103_0_clamp_true = clamp(o10103_0_clamp_false, 0.0, 1.0); +float o10103_0_1_f = o10103_0_clamp_true; +float o9717_0_step = clamp((o10103_0_1_f - (p_o9717_value))/max(0.0001, p_o9717_width)+0.5, 0.0, 1.0); +float o9717_0_false = clamp((min(o9717_0_step, 1.0-o9717_0_step) * 2.0) / (1.0 - p_o9717_contrast), 0.0, 1.0); +float o9717_0_true = 1.0-o9717_0_false;float o9717_0_1_f = o9717_0_false; +float o9716_0_clamp_false = o9715_0_1_f*o9717_0_1_f; +float o9716_0_clamp_true = clamp(o9716_0_clamp_false, 0.0, 1.0); +float o9716_0_1_f = o9716_0_clamp_false; +float o10110_0_step = clamp(((dot((o10098_2_6_rgba).rgb, vec3(1.0))/3.0) - (p_o10110_value))/max(0.0001, p_o10110_width)+0.5, 0.0, 1.0); +float o10110_0_false = clamp((min(o10110_0_step, 1.0-o10110_0_step) * 2.0) / (1.0 - p_o10110_contrast), 0.0, 1.0); +float o10110_0_true = 1.0-o10110_0_false;float o10110_0_1_f = o10110_0_false; +vec4 o9701_0_b = o9663_0_1_rgba; +vec4 o9701_0_l; +float o9701_0_a; +o9701_0_l = vec4(o9702_0_1_rgb, 1.0); +o9701_0_a = p_o9701_amount1*(dot((o10101_0_1_rgba).rgb, vec3(1.0))/3.0); +o9701_0_b = vec4(blend_multiply((uv), o9701_0_l.rgb, o9701_0_b.rgb, o9701_0_a*o9701_0_l.a), min(1.0, o9701_0_b.a+o9701_0_a*o9701_0_l.a)); +o9701_0_l = vec4(vec3(o9716_0_1_f), 1.0); +o9701_0_a = p_o9701_amount2*1.0; +o9701_0_b = vec4(blend_exclusion((uv), o9701_0_l.rgb, o9701_0_b.rgb, o9701_0_a*o9701_0_l.a), min(1.0, o9701_0_b.a+o9701_0_a*o9701_0_l.a)); +o9701_0_l = vec4(vec3(o10110_0_1_f), 1.0); +o9701_0_a = p_o9701_amount3*1.0; +o9701_0_b = vec4(blend_difference((uv), o9701_0_l.rgb, o9701_0_b.rgb, o9701_0_a*o9701_0_l.a), min(1.0, o9701_0_b.a+o9701_0_a*o9701_0_l.a)); +vec4 o9701_0_2_rgba = o9701_0_b; +float o10312_0_1_f = o9701_0_2_rgba.r; +float o10119_0_1_f = p_o10119_color; +float o10118_0_1_f = p_o10118_color; +float o10117_0_clamp_false = (1.0-step(o10118_0_1_f,o10119_0_1_f)); +float o10117_0_clamp_true = clamp(o10117_0_clamp_false, 0.0, 1.0); +float o10117_0_1_f = o10117_0_clamp_false; +vec4 o10116_0_s1 = vec4(vec3(o10119_0_1_f), 1.0); +vec4 o10116_0_s2 = vec4(vec3(o10118_0_1_f), 1.0); +float o10116_0_a = p_o10116_amount*o10117_0_1_f; +vec4 o10116_0_1_rgba = vec4(blend_normal((uv), o10116_0_s1.rgb, o10116_0_s2.rgb, o10116_0_a*o10116_0_s1.a), min(1.0, o10116_0_s2.a+o10116_0_a*o10116_0_s1.a)); +float o10120_0_clamp_false = max(o10312_0_1_f,(dot((o10116_0_1_rgba).rgb, vec3(1.0))/3.0)); +float o10120_0_clamp_true = clamp(o10120_0_clamp_false, 0.0, 1.0); +float o10120_0_1_f = o10120_0_clamp_false; +vec4 o10115_0_s1 = vec4(vec3(o10118_0_1_f), 1.0); +vec4 o10115_0_s2 = vec4(vec3(o10119_0_1_f), 1.0); +float o10115_0_a = p_o10115_amount*o10117_0_1_f; +vec4 o10115_0_1_rgba = vec4(blend_normal((uv), o10115_0_s1.rgb, o10115_0_s2.rgb, o10115_0_a*o10115_0_s1.a), min(1.0, o10115_0_s2.a+o10115_0_a*o10115_0_s1.a)); +float o10121_0_clamp_false = min(o10120_0_1_f,(dot((o10115_0_1_rgba).rgb, vec3(1.0))/3.0)); +float o10121_0_clamp_true = clamp(o10121_0_clamp_false, 0.0, 1.0); +float o10121_0_1_f = o10121_0_clamp_false; +float o10312_1_2_f = o9701_0_2_rgba.g; +float o10185_0_1_f = p_o10185_color; +float o10184_0_1_f = p_o10184_color; +float o10183_0_clamp_false = (1.0-step(o10184_0_1_f,o10185_0_1_f)); +float o10183_0_clamp_true = clamp(o10183_0_clamp_false, 0.0, 1.0); +float o10183_0_1_f = o10183_0_clamp_false; +vec4 o10182_0_s1 = vec4(vec3(o10185_0_1_f), 1.0); +vec4 o10182_0_s2 = vec4(vec3(o10184_0_1_f), 1.0); +float o10182_0_a = p_o10182_amount*o10183_0_1_f; +vec4 o10182_0_1_rgba = vec4(blend_normal((uv), o10182_0_s1.rgb, o10182_0_s2.rgb, o10182_0_a*o10182_0_s1.a), min(1.0, o10182_0_s2.a+o10182_0_a*o10182_0_s1.a)); +float o10186_0_clamp_false = max(o10312_1_2_f,(dot((o10182_0_1_rgba).rgb, vec3(1.0))/3.0)); +float o10186_0_clamp_true = clamp(o10186_0_clamp_false, 0.0, 1.0); +float o10186_0_1_f = o10186_0_clamp_false; +vec4 o10181_0_s1 = vec4(vec3(o10184_0_1_f), 1.0); +vec4 o10181_0_s2 = vec4(vec3(o10185_0_1_f), 1.0); +float o10181_0_a = p_o10181_amount*o10183_0_1_f; +vec4 o10181_0_1_rgba = vec4(blend_normal((uv), o10181_0_s1.rgb, o10181_0_s2.rgb, o10181_0_a*o10181_0_s1.a), min(1.0, o10181_0_s2.a+o10181_0_a*o10181_0_s1.a)); +float o10187_0_clamp_false = min(o10186_0_1_f,(dot((o10181_0_1_rgba).rgb, vec3(1.0))/3.0)); +float o10187_0_clamp_true = clamp(o10187_0_clamp_false, 0.0, 1.0); +float o10187_0_1_f = o10187_0_clamp_false; +float o10312_2_3_f = o9701_0_2_rgba.b; +float o10251_0_1_f = p_o10251_color; +float o10250_0_1_f = p_o10250_color; +float o10249_0_clamp_false = (1.0-step(o10250_0_1_f,o10251_0_1_f)); +float o10249_0_clamp_true = clamp(o10249_0_clamp_false, 0.0, 1.0); +float o10249_0_1_f = o10249_0_clamp_false; +vec4 o10248_0_s1 = vec4(vec3(o10251_0_1_f), 1.0); +vec4 o10248_0_s2 = vec4(vec3(o10250_0_1_f), 1.0); +float o10248_0_a = p_o10248_amount*o10249_0_1_f; +vec4 o10248_0_1_rgba = vec4(blend_normal((uv), o10248_0_s1.rgb, o10248_0_s2.rgb, o10248_0_a*o10248_0_s1.a), min(1.0, o10248_0_s2.a+o10248_0_a*o10248_0_s1.a)); +float o10252_0_clamp_false = max(o10312_2_3_f,(dot((o10248_0_1_rgba).rgb, vec3(1.0))/3.0)); +float o10252_0_clamp_true = clamp(o10252_0_clamp_false, 0.0, 1.0); +float o10252_0_1_f = o10252_0_clamp_false; +vec4 o10247_0_s1 = vec4(vec3(o10250_0_1_f), 1.0); +vec4 o10247_0_s2 = vec4(vec3(o10251_0_1_f), 1.0); +float o10247_0_a = p_o10247_amount*o10249_0_1_f; +vec4 o10247_0_1_rgba = vec4(blend_normal((uv), o10247_0_s1.rgb, o10247_0_s2.rgb, o10247_0_a*o10247_0_s1.a), min(1.0, o10247_0_s2.a+o10247_0_a*o10247_0_s1.a)); +float o10253_0_clamp_false = min(o10252_0_1_f,(dot((o10247_0_1_rgba).rgb, vec3(1.0))/3.0)); +float o10253_0_clamp_true = clamp(o10253_0_clamp_false, 0.0, 1.0); +float o10253_0_1_f = o10253_0_clamp_false; +vec4 o10313_0_1_rgba = vec4(o10121_0_1_f, o10187_0_1_f, o10253_0_1_f, 1.0); +return o10313_0_1_rgba; +} +const float p_o9674_amount1 = 1.000000000; +const float p_o9674_amount2 = 0.330000000; +const float p_o9674_amount3 = 0.060000000; +const float p_o9662_translate_x = 0.000000000; +const float p_o9662_translate_y = 0.000000000; +const float p_o9668_amount = 1.500000000; +const float p_o9668_eps = 0.135000000; +float o9668_input_d(vec2 uv, float _seed_variation_) { +vec2 o9702_0_uv = floor(((uv)*vec2(p_o9702_x, p_o9702_y)))+vec2(0.5); +vec3 o9702_0_dither = fract(vec3(dot(vec2(171.0, 231.0), o9702_0_uv))/vec3(103.0, 71.0, 97.0)); +float o9672_0_1_f = anisotropic((fract(transform2((o9702_0_uv/vec2(p_o9702_x, p_o9702_y)), vec2(p_o10098_translate_x*(2.0*1.0-1.0), p_o10098_translate_y*(2.0*1.0-1.0)), p_o10098_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o10098_scale_x*(2.0*1.0-1.0), p_o10098_scale_y*(2.0*1.0-1.0))))), vec2(p_o9672_scale_x, p_o9672_scale_y), (seed_o9672+fract(_seed_variation_)), p_o9672_smoothness, p_o9672_interpolation); +vec4 o10098_0_1_rgba = vec4(vec3(o9672_0_1_f), 1.0); +vec3 o9702_0_1_rgb = floor(((o10098_0_1_rgba).rgb)*p_o9702_c+p_o9702_d*(o9702_0_dither-vec3(0.5)))/p_o9702_c; +return (dot(o9702_0_1_rgb, vec3(1.0))/3.0); +} +vec2 o9668_slope(vec2 uv, float epsilon, float _seed_variation_) { + return vec2(o9668_input_d(fract(uv+vec2(epsilon, 0.0)), _seed_variation_)-o9668_input_d(fract(uv-vec2(epsilon, 0.0)), _seed_variation_), o9668_input_d(fract(uv+vec2(0.0, epsilon)), _seed_variation_)-o9668_input_d(fract(uv-vec2(0.0, epsilon)), _seed_variation_)); +}const float p_o9675_size = 32.000000000; +vec3 o9675_input_palette(vec2 uv, float _seed_variation_) { +vec4 o9662_0_1_rgba = vec4(((uv)-vec2(p_o9662_translate_x, p_o9662_translate_y)), 0.0, 1.0); +return ((o9662_0_1_rgba).rgb); +} +vec3 find_color_from_palette_o9675(vec3 color, int size, float _seed_variation_) { + float min_dist = 10.0; + vec3 best_color = vec3(0.0); + for (int i = 0; i < size; ++i) { + float x = (float(i)+0.5)/float(size); + for (int j = 0; j < size; ++j) { + float y = (float(j)+0.5)/float(size); + vec3 c = o9675_input_palette(vec2(x, y), _seed_variation_); + float l = length(color - c); + if (l < min_dist) { + min_dist = l; + best_color = c; + } + } + } + return best_color; +}const float p_o9718_value = 0.260000000; +const float p_o9718_width = 0.020000000; +const float p_o9718_contrast = 0.000000000; +const vec4 p_o10109_color = vec4(0.000000000, 1.000000000, 0.000000000, 1.000000000); +const float p_o10108_value = 0.580000000; +const float p_o10108_width = 0.080000000; +const float p_o10108_contrast = 0.030000000; +vec4 o9633_input_in(vec2 uv, float _seed_variation_) { +vec4 o9662_0_1_rgba = vec4(((uv)-vec2(p_o9662_translate_x, p_o9662_translate_y)), 0.0, 1.0); +vec2 o9668_0_slope = o9668_slope((uv), p_o9668_eps, _seed_variation_); +vec2 o9668_0_warp = o9668_0_slope; +vec4 o9662_0_4_rgba = vec4((((uv)+p_o9668_amount*o9668_0_warp)-vec2(p_o9662_translate_x, p_o9662_translate_y)), 0.0, 1.0); +vec3 o9675_0_1_rgb = find_color_from_palette_o9675(((o9662_0_4_rgba).rgb), int(min(p_o9675_size, 32.0)), _seed_variation_); +vec4 o9668_0_1_rgba = vec4(o9675_0_1_rgb, 1.0); +float o9672_0_1_f = anisotropic((fract(transform2((uv), vec2(p_o10098_translate_x*(2.0*1.0-1.0), p_o10098_translate_y*(2.0*1.0-1.0)), p_o10098_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o10098_scale_x*(2.0*1.0-1.0), p_o10098_scale_y*(2.0*1.0-1.0))))), vec2(p_o9672_scale_x, p_o9672_scale_y), (seed_o9672+fract(_seed_variation_)), p_o9672_smoothness, p_o9672_interpolation); +vec4 o10098_0_1_rgba = vec4(vec3(o9672_0_1_f), 1.0); +vec3 o9673_0_false = clamp((o10098_0_1_rgba.rgb-vec3(p_o9673_value))/max(0.0001, p_o9673_width)+vec3(0.5), vec3(0.0), vec3(1.0)); +vec3 o9673_0_true = vec3(1.0)-o9673_0_false;vec4 o9673_0_1_rgba = vec4(o9673_0_false, o10098_0_1_rgba.a); +vec4 o10111_0_rect = bricks_rb((fract(transform2((uv), vec2(p_o10098_translate_x*(2.0*1.0-1.0), p_o10098_translate_y*(2.0*1.0-1.0)), p_o10098_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o10098_scale_x*(2.0*1.0-1.0), p_o10098_scale_y*(2.0*1.0-1.0))))), vec2(p_o10111_columns, p_o10111_rows), p_o10111_repeat, p_o10111_row_offset); +vec4 o10111_0 = brick((fract(transform2((uv), vec2(p_o10098_translate_x*(2.0*1.0-1.0), p_o10098_translate_y*(2.0*1.0-1.0)), p_o10098_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o10098_scale_x*(2.0*1.0-1.0), p_o10098_scale_y*(2.0*1.0-1.0))))), o10111_0_rect.xy, o10111_0_rect.zw, p_o10111_mortar*1.0, p_o10111_round*1.0, max(0.001, p_o10111_bevel*1.0), 1.0 / p_o10111_rows);vec4 o10111_1_2_fill = round(vec4(fract(o10111_0_rect.xy), o10111_0_rect.zw - o10111_0_rect.xy)*4096.0)/4096.0; +vec4 o10112_0_bb = o10111_1_2_fill;float o10112_0_1_f = mix(p_o10112_edgecolor, rand(vec2(float((seed_o10112+fract(_seed_variation_))), rand(vec2(rand(o10112_0_bb.xy), rand(o10112_0_bb.zw))))), step(0.0000001, dot(o10112_0_bb.zw, vec2(1.0)))); +vec4 o10098_2_3_rgba = vec4(vec3(o10112_0_1_f), 1.0); +float o10105_0_step = clamp(((dot((o10098_2_3_rgba).rgb, vec3(1.0))/3.0) - (p_o10105_value))/max(0.0001, p_o10105_width)+0.5, 0.0, 1.0); +float o10105_0_false = clamp((min(o10105_0_step, 1.0-o10105_0_step) * 2.0) / (1.0 - p_o10105_contrast), 0.0, 1.0); +float o10105_0_true = 1.0-o10105_0_false;float o10105_0_1_f = o10105_0_false; +vec4 o10101_0_b = o9673_0_1_rgba; +vec4 o10101_0_l; +float o10101_0_a; +o10101_0_l = o10098_0_1_rgba; +o10101_0_a = p_o10101_amount1*o10105_0_1_f; +o10101_0_b = vec4(blend_overlay((uv), o10101_0_l.rgb, o10101_0_b.rgb, o10101_0_a*o10101_0_l.a), min(1.0, o10101_0_b.a+o10101_0_a*o10101_0_l.a)); +vec4 o10101_0_1_rgba = o10101_0_b; +float o9703_0_1_f = (elapsed_time / 80.0); +float o9714_0_1_f = anisotropic((fract(transform2((uv), vec2(p_o10098_translate_x*(2.0*1.0-1.0), p_o10098_translate_y*(2.0*1.0-1.0)), p_o10098_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o10098_scale_x*(2.0*1.0-1.0), p_o10098_scale_y*(2.0*1.0-1.0))))), vec2(p_o9714_scale_x, p_o9714_scale_y), (seed_o9714+fract(_seed_variation_)), p_o9714_smoothness, p_o9714_interpolation); +vec4 o10098_1_4_rgba = vec4(vec3(o9714_0_1_f), 1.0); +float o9713_0_clamp_false = o9703_0_1_f+(dot((o10098_1_4_rgba).rgb, vec3(1.0))/3.0); +float o9713_0_clamp_true = clamp(o9713_0_clamp_false, 0.0, 1.0); +float o9713_0_1_f = o9713_0_clamp_false; +float o10106_0_clamp_false = o9713_0_1_f*o10105_0_1_f; +float o10106_0_clamp_true = clamp(o10106_0_clamp_false, 0.0, 1.0); +float o10106_0_1_f = o10106_0_clamp_false; +float o9704_0_clamp_false = sin(o10106_0_1_f*p_o9704_default_in2); +float o9704_0_clamp_true = clamp(o9704_0_clamp_false, 0.0, 1.0); +float o9704_0_2_f = o9704_0_clamp_false; +float o9709_0_clamp_false = o10106_0_1_f+p_o9709_default_in2; +float o9709_0_clamp_true = clamp(o9709_0_clamp_false, 0.0, 1.0); +float o9709_0_2_f = o9709_0_clamp_false; +float o9705_0_clamp_false = sin(o9709_0_2_f*p_o9705_default_in2); +float o9705_0_clamp_true = clamp(o9705_0_clamp_false, 0.0, 1.0); +float o9705_0_2_f = o9705_0_clamp_false; +float o9706_0_clamp_false = o9704_0_2_f/o9705_0_2_f; +float o9706_0_clamp_true = clamp(o9706_0_clamp_false, 0.0, 1.0); +float o9706_0_1_f = o9706_0_clamp_true; +float o9708_0_clamp_false = o10106_0_1_f+p_o9708_default_in2; +float o9708_0_clamp_true = clamp(o9708_0_clamp_false, 0.0, 1.0); +float o9708_0_2_f = o9708_0_clamp_false; +float o9707_0_clamp_false = sin(o9708_0_2_f*p_o9707_default_in2); +float o9707_0_clamp_true = clamp(o9707_0_clamp_false, 0.0, 1.0); +float o9707_0_2_f = o9707_0_clamp_false; +float o9710_0_clamp_false = o9706_0_1_f+o9707_0_2_f; +float o9710_0_clamp_true = clamp(o9710_0_clamp_false, 0.0, 1.0); +float o9710_0_1_f = o9710_0_clamp_true; +float o9718_0_step = clamp((o9710_0_1_f - (p_o9718_value))/max(0.0001, p_o9718_width)+0.5, 0.0, 1.0); +float o9718_0_false = clamp((min(o9718_0_step, 1.0-o9718_0_step) * 2.0) / (1.0 - p_o9718_contrast), 0.0, 1.0); +float o9718_0_true = 1.0-o9718_0_false;float o9718_0_1_f = o9718_0_false; +vec4 o10109_0_1_rgba = p_o10109_color; +float o10108_0_step = clamp(((dot((o10098_2_3_rgba).rgb, vec3(1.0))/3.0) - (p_o10108_value))/max(0.0001, p_o10108_width)+0.5, 0.0, 1.0); +float o10108_0_false = clamp((min(o10108_0_step, 1.0-o10108_0_step) * 2.0) / (1.0 - p_o10108_contrast), 0.0, 1.0); +float o10108_0_true = 1.0-o10108_0_false;float o10108_0_1_f = o10108_0_false; +vec4 o9674_0_b = o9662_0_1_rgba; +vec4 o9674_0_l; +float o9674_0_a; +o9674_0_l = o9668_0_1_rgba; +o9674_0_a = p_o9674_amount1*(dot((o10101_0_1_rgba).rgb, vec3(1.0))/3.0); +o9674_0_b = vec4(blend_normal((uv), o9674_0_l.rgb, o9674_0_b.rgb, o9674_0_a*o9674_0_l.a), min(1.0, o9674_0_b.a+o9674_0_a*o9674_0_l.a)); +o9674_0_l = vec4(vec3(o9718_0_1_f), 1.0); +o9674_0_a = p_o9674_amount2*1.0; +o9674_0_b = vec4(blend_screen((uv), o9674_0_l.rgb, o9674_0_b.rgb, o9674_0_a*o9674_0_l.a), min(1.0, o9674_0_b.a+o9674_0_a*o9674_0_l.a)); +o9674_0_l = o10109_0_1_rgba; +o9674_0_a = p_o9674_amount3*o10108_0_1_f; +o9674_0_b = vec4(blend_dissolve((uv), o9674_0_l.rgb, o9674_0_b.rgb, o9674_0_a*o9674_0_l.a), min(1.0, o9674_0_b.a+o9674_0_a*o9674_0_l.a)); +vec4 o9674_0_2_rgba = o9674_0_b; +vec3 o9679_0_map = ((o9674_0_2_rgba).rgb); +float o9679_0_rnd = float((seed_o9679+fract(_seed_variation_)))+o9679_0_map.z; +vec4 o9679_0_1_rgba = o9679_input_in(get_from_tileset(1.0, o9679_0_rnd, custom_uv_transform(o9679_0_map.xy, vec2(p_o9679_sx, p_o9679_sy), p_o9679_rotate*0.01745329251, p_o9679_scale, vec2(o9679_0_map.z, float((seed_o9679+fract(_seed_variation_)))))), false ? o9679_0_rnd : 0.0); +return o9679_0_1_rgba; +} +const float p_o9639_color = 2.000000000; +const float p_o9636_cx = 0.000000000; +const float p_o9636_cy = 0.000000000; +const float p_o9661_value = 0.500000000; +const float p_o9661_width = 0.410000000; +void fragment() { + float _seed_variation_ = variation; + vec2 uv = fract(UV); +vec4 o9659_0 = textureLod(texture_4, (uv), 0.0); +vec3 o9633_0_map = ((o9659_0).rgb); +float o9633_0_rnd = float((seed_o9633+fract(_seed_variation_)))+o9633_0_map.z; +vec4 o9633_0_1_rgba = o9633_input_in(get_from_tileset(1.0, o9633_0_rnd, custom_uv_transform(o9633_0_map.xy, vec2(p_o9633_sx, p_o9633_sy), p_o9633_rotate*0.01745329251, p_o9633_scale, vec2(o9633_0_map.z, float((seed_o9633+fract(_seed_variation_)))))), false ? o9633_0_rnd : 0.0); +float o9639_0_1_f = p_o9639_color; +vec4 o9638_0_b = o9633_0_1_rgba; +vec4 o9638_0_l; +float o9638_0_a; + +o9638_0_l = vec4(vec3(o9639_0_1_f), 1.0); +o9638_0_a = p_o9638_amount1*1.0; +o9638_0_b = vec4(blend_multiply((uv), o9638_0_l.rgb, o9638_0_b.rgb, o9638_0_a*o9638_0_l.a), min(1.0, o9638_0_b.a+o9638_0_a*o9638_0_l.a)); + +vec4 o9638_0_2_rgba = o9638_0_b; +vec4 o9652_0_rbga = o9638_0_2_rgba; +vec3 o9652_0_hsv = rgb_to_hsv(o9652_0_rbga.rgb); +o9652_0_hsv.x += p_o9652_hue; +o9652_0_hsv.y = clamp(o9652_0_hsv.y*p_o9652_saturation, 0.0, 1.0); +o9652_0_hsv.z = clamp(o9652_0_hsv.z*p_o9652_value, 0.0, 1.0); + vec4 o9652_0_1_rgba = vec4(hsv_to_rgb(o9652_0_hsv), o9652_0_rbga.a); +vec4 o9653_0 = textureLod(texture_5, (scale((uv), vec2(0.5+p_o9636_cx, 0.5+p_o9636_cy), vec2((1.0 / 26.0), (1.0 / 26.0)))), 0.0); +vec3 o9661_0_false = clamp((o9653_0.rgb-vec3(p_o9661_value))/max(0.0001, p_o9661_width)+vec3(0.5), vec3(0.0), vec3(1.0)); +vec3 o9661_0_true = vec3(1.0)-o9661_0_false;vec4 o9661_0_1_rgba = vec4(o9661_0_false, o9653_0.a); +vec4 o9636_0_1_rgba = o9661_0_1_rgba; +vec4 o9637_0_b = o9652_0_1_rgba; +vec4 o9637_0_l; +float o9637_0_a; + +o9637_0_l = o9636_0_1_rgba; +o9637_0_a = p_o9637_amount1*1.0; +o9637_0_b = vec4(blend_multiply((uv), o9637_0_l.rgb, o9637_0_b.rgb, o9637_0_a*o9637_0_l.a), min(1.0, o9637_0_b.a+o9637_0_a*o9637_0_l.a)); + +vec4 o9637_0_2_rgba = o9637_0_b; +vec4 o10429_0_rbga = o9637_0_2_rgba; +vec3 o10429_0_hsv = rgb_to_hsv(o10429_0_rbga.rgb); +o10429_0_hsv.x += p_o10429_hue; +o10429_0_hsv.y = clamp(o10429_0_hsv.y*p_o10429_saturation, 0.0, 1.0); +o10429_0_hsv.z = clamp(o10429_0_hsv.z*p_o10429_value, 0.0, 1.0); + vec4 o10429_0_1_rgba = vec4(hsv_to_rgb(o10429_0_hsv), o10429_0_rbga.a); + + vec4 color_tex = o10429_0_1_rgba; + color_tex = mix(pow((color_tex + vec4(0.055)) * (1.0 / (1.0 + 0.055)),vec4(2.4)),color_tex * (1.0 / 12.92),lessThan(color_tex,vec4(0.04045))); + COLOR = color_tex; + +} + + + diff --git a/splash_screen/backgrounds/wild_wits_crown_gambit_1.png b/splash_screen/backgrounds/wild_wits_crown_gambit_1.png new file mode 100644 index 000000000..5728670ec Binary files /dev/null and b/splash_screen/backgrounds/wild_wits_crown_gambit_1.png differ diff --git a/splash_screen/backgrounds/wild_wits_crown_gambit_1.png.import b/splash_screen/backgrounds/wild_wits_crown_gambit_1.png.import new file mode 100644 index 000000000..e67233dcc --- /dev/null +++ b/splash_screen/backgrounds/wild_wits_crown_gambit_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://glgje5upnodl" +path="res://.godot/imported/wild_wits_crown_gambit_1.png-28160acf5706dd6bfcba853ca9fc2c49.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://splash_screen/backgrounds/wild_wits_crown_gambit_1.png" +dest_files=["res://.godot/imported/wild_wits_crown_gambit_1.png-28160acf5706dd6bfcba853ca9fc2c49.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/splash_screen/backgrounds/wild_wits_crown_gambit_2.png b/splash_screen/backgrounds/wild_wits_crown_gambit_2.png new file mode 100644 index 000000000..01829b490 Binary files /dev/null and b/splash_screen/backgrounds/wild_wits_crown_gambit_2.png differ diff --git a/splash_screen/backgrounds/wild_wits_crown_gambit_2.png.import b/splash_screen/backgrounds/wild_wits_crown_gambit_2.png.import new file mode 100644 index 000000000..66c0c19d0 --- /dev/null +++ b/splash_screen/backgrounds/wild_wits_crown_gambit_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c6siat5aajtlt" +path="res://.godot/imported/wild_wits_crown_gambit_2.png-56ccd2b5366d04bcb9bc442b03e4f63c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://splash_screen/backgrounds/wild_wits_crown_gambit_2.png" +dest_files=["res://.godot/imported/wild_wits_crown_gambit_2.png-56ccd2b5366d04bcb9bc442b03e4f63c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/splash_screen/backgrounds/wild_wits_crown_gambit_3.png b/splash_screen/backgrounds/wild_wits_crown_gambit_3.png new file mode 100644 index 000000000..721b8df69 Binary files /dev/null and b/splash_screen/backgrounds/wild_wits_crown_gambit_3.png differ diff --git a/splash_screen/backgrounds/wild_wits_crown_gambit_3.png.import b/splash_screen/backgrounds/wild_wits_crown_gambit_3.png.import new file mode 100644 index 000000000..3c460c5a6 --- /dev/null +++ b/splash_screen/backgrounds/wild_wits_crown_gambit_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cf1njricx0fe5" +path="res://.godot/imported/wild_wits_crown_gambit_3.png-bdefbcfe555f4d1599a4e1ab17cee086.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://splash_screen/backgrounds/wild_wits_crown_gambit_3.png" +dest_files=["res://.godot/imported/wild_wits_crown_gambit_3.png-bdefbcfe555f4d1599a4e1ab17cee086.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/splash_screen/backgrounds/wild_wits_crown_gambit_4.png b/splash_screen/backgrounds/wild_wits_crown_gambit_4.png new file mode 100644 index 000000000..f2e0a75e1 Binary files /dev/null and b/splash_screen/backgrounds/wild_wits_crown_gambit_4.png differ diff --git a/splash_screen/backgrounds/wild_wits_crown_gambit_4.png.import b/splash_screen/backgrounds/wild_wits_crown_gambit_4.png.import new file mode 100644 index 000000000..ceb4d36de --- /dev/null +++ b/splash_screen/backgrounds/wild_wits_crown_gambit_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dr7kisiw7nsmi" +path="res://.godot/imported/wild_wits_crown_gambit_4.png-c10a8a807904d52917ad61f5338b1b35.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://splash_screen/backgrounds/wild_wits_crown_gambit_4.png" +dest_files=["res://.godot/imported/wild_wits_crown_gambit_4.png-c10a8a807904d52917ad61f5338b1b35.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/splash_screen/backgrounds/wild_wits_crown_gambit_5.png b/splash_screen/backgrounds/wild_wits_crown_gambit_5.png new file mode 100644 index 000000000..4dfab3ca4 Binary files /dev/null and b/splash_screen/backgrounds/wild_wits_crown_gambit_5.png differ diff --git a/splash_screen/backgrounds/wild_wits_crown_gambit_5.png.import b/splash_screen/backgrounds/wild_wits_crown_gambit_5.png.import new file mode 100644 index 000000000..93519248a --- /dev/null +++ b/splash_screen/backgrounds/wild_wits_crown_gambit_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpsikfklvylbj" +path="res://.godot/imported/wild_wits_crown_gambit_5.png-79672fd2008b702553cc4cc4b019a043.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://splash_screen/backgrounds/wild_wits_crown_gambit_5.png" +dest_files=["res://.godot/imported/wild_wits_crown_gambit_5.png-79672fd2008b702553cc4cc4b019a043.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/splash_screen/backgrounds/wild_wits_crown_gambit_6.png b/splash_screen/backgrounds/wild_wits_crown_gambit_6.png new file mode 100644 index 000000000..fa92af8ac Binary files /dev/null and b/splash_screen/backgrounds/wild_wits_crown_gambit_6.png differ diff --git a/splash_screen/backgrounds/wild_wits_crown_gambit_6.png.import b/splash_screen/backgrounds/wild_wits_crown_gambit_6.png.import new file mode 100644 index 000000000..e80de39e0 --- /dev/null +++ b/splash_screen/backgrounds/wild_wits_crown_gambit_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dropsdq5tmf2s" +path="res://.godot/imported/wild_wits_crown_gambit_6.png-e015c5f0f2522a07673e4d44dbec0dcb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://splash_screen/backgrounds/wild_wits_crown_gambit_6.png" +dest_files=["res://.godot/imported/wild_wits_crown_gambit_6.png-e015c5f0f2522a07673e4d44dbec0dcb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/splash_screen/backgrounds/wild_wits_crown_gambit_7.png b/splash_screen/backgrounds/wild_wits_crown_gambit_7.png new file mode 100644 index 000000000..693e8fb42 Binary files /dev/null and b/splash_screen/backgrounds/wild_wits_crown_gambit_7.png differ diff --git a/splash_screen/backgrounds/wild_wits_crown_gambit_7.png.import b/splash_screen/backgrounds/wild_wits_crown_gambit_7.png.import new file mode 100644 index 000000000..cf419a8bd --- /dev/null +++ b/splash_screen/backgrounds/wild_wits_crown_gambit_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dsmejhl8lesro" +path="res://.godot/imported/wild_wits_crown_gambit_7.png-ce750941a0e20653c283321199791b2b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://splash_screen/backgrounds/wild_wits_crown_gambit_7.png" +dest_files=["res://.godot/imported/wild_wits_crown_gambit_7.png-ce750941a0e20653c283321199791b2b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/splash_screen/backgrounds/wild_wits_crown_gambit_8.png b/splash_screen/backgrounds/wild_wits_crown_gambit_8.png new file mode 100644 index 000000000..6d43f7ae9 Binary files /dev/null and b/splash_screen/backgrounds/wild_wits_crown_gambit_8.png differ diff --git a/splash_screen/backgrounds/wild_wits_crown_gambit_8.png.import b/splash_screen/backgrounds/wild_wits_crown_gambit_8.png.import new file mode 100644 index 000000000..f65e21b1e --- /dev/null +++ b/splash_screen/backgrounds/wild_wits_crown_gambit_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnsfnvjvoy00d" +path="res://.godot/imported/wild_wits_crown_gambit_8.png-6e303a3b51818f506b677cee0d543080.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://splash_screen/backgrounds/wild_wits_crown_gambit_8.png" +dest_files=["res://.godot/imported/wild_wits_crown_gambit_8.png-6e303a3b51818f506b677cee0d543080.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/splash_screen/splash_screen.gd b/splash_screen/splash_screen.gd index 8e81d86af..b13722c6f 100644 --- a/splash_screen/splash_screen.gd +++ b/splash_screen/splash_screen.gd @@ -26,7 +26,9 @@ const BACKGROUNDS : Array[Dictionary] = [ { title="Vintage Luggage", author="Pavel Oliva", file="pavel_oliva_vintage_luggage.png" }, { title="Golden Tiles", author="PixelMuncher", file="pixelmuncher_golden_tiles.png" }, { title="Spiral Trails", author="DroppedBeat", file="droppedbeat_spiral_trails.tres" }, + { title="Star Trails", author="DroppedBeat", file="droppedbeat_star_trails.tres" }, { title="Matrix Rain", author="DroppedBeat", file="droppedbeat_matrix_rain.tres" }, + { title="Meteor Rain", author="DroppedBeat", file="droppedbeat_meteor_rain.tres" }, { title="Procedural Material", author="DroppedBeat", file="droppedbeat_procedural_material.png" }, { title="Vending Machines", author="DroppedBeat", file="droppedbeat_vending_machines.png" }, { title="Path Traced Green Thing", author="Paulo Falcao", file="paulo_falcao_green_thing.png" }, @@ -35,17 +37,32 @@ const BACKGROUNDS : Array[Dictionary] = [ { title="Dirty Tiles", author="cybereality", file="cybereality_dirty_tiles.png" }, { title="Future Visions", author="cybereality", file="cybereality_future_visions.png" }, { title="Brutalism", author="cybereality", file="cybereality_brutalism.png" }, - { title="Old Doors", author="cgmytro", file="cgmytro_old_doors.png" } + { title="Old Doors", author="cgmytro", file="cgmytro_old_doors.png" }, + { title="Crown Gambit", author="Wild Wits", file="wild_wits_crown_gambit_1.png", url="https://store.steampowered.com/app/2447980/Crown_Gambit", odds=0.4 }, + { title="Crown Gambit", author="Wild Wits", file="wild_wits_crown_gambit_2.png", url="https://store.steampowered.com/app/2447980/Crown_Gambit", odds=0.4 }, + { title="Crown Gambit", author="Wild Wits", file="wild_wits_crown_gambit_3.png", url="https://store.steampowered.com/app/2447980/Crown_Gambit", odds=0.4 }, + { title="Crown Gambit", author="Wild Wits", file="wild_wits_crown_gambit_4.png", url="https://store.steampowered.com/app/2447980/Crown_Gambit", odds=0.4 }, + { title="Crown Gambit", author="Wild Wits", file="wild_wits_crown_gambit_5.png", url="https://store.steampowered.com/app/2447980/Crown_Gambit", odds=0.4 }, + { title="Crown Gambit", author="Wild Wits", file="wild_wits_crown_gambit_6.png", url="https://store.steampowered.com/app/2447980/Crown_Gambit", odds=0.4 }, + { title="Crown Gambit", author="Wild Wits", file="wild_wits_crown_gambit_7.png", url="https://store.steampowered.com/app/2447980/Crown_Gambit", odds=0.4 }, + { title="Crown Gambit", author="Wild Wits", file="wild_wits_crown_gambit_8.png", url="https://store.steampowered.com/app/2447980/Crown_Gambit", odds=0.4 }, ] func _enter_tree(): - randomize() - set_screen(randi() % BACKGROUNDS.size()) + var date : Dictionary = Time.get_date_dict_from_system() + var date_int : int = date.month*33+date.day + var screen : int + match date_int: + _: + randomize() + screen = randi() % BACKGROUNDS.size() + while BACKGROUNDS[screen].has("odds") and BACKGROUNDS[screen].odds < randf(): + screen = randi() % BACKGROUNDS.size() + set_screen(screen) var window : Window = get_window() window.position = (DisplayServer.screen_get_size(window.current_screen)-Vector2i(size))/2 window.size = size - #await get_tree().process_frame func set_screen(bi : int) -> void: background_index = bi diff --git a/splash_screen/splash_screen.tscn b/splash_screen/splash_screen.tscn index 31ce2d21b..24014ccda 100644 --- a/splash_screen/splash_screen.tscn +++ b/splash_screen/splash_screen.tscn @@ -1,10 +1,10 @@ -[gd_scene load_steps=9 format=3 uid="uid://bq7jj2aydbqug"] +[gd_scene load_steps=14 format=3 uid="uid://bq7jj2aydbqug"] [ext_resource type="Script" path="res://splash_screen/splash_screen.gd" id="1_q7nii"] [ext_resource type="Texture2D" uid="uid://bdba0wahju1ak" path="res://splash_screen/splash_title.png" id="2_ryhtq"] [ext_resource type="FontFile" uid="uid://dttdyavpec18b" path="res://material_maker/fonts/vegur_regular.otf" id="3_m0b76"] +[ext_resource type="Texture2D" uid="uid://dfy67bw73b836" path="res://splash_screen/arrow.svg" id="5_o00vo"] [ext_resource type="Shader" path="res://splash_screen/splash_screen_bottom.gdshader" id="5_xhfa4"] -[ext_resource type="Texture2D" uid="uid://btpt3nk4o7725" path="res://splash_screen/arrow.png" id="6_qghsp"] [sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_jeaul"] size = Vector2(760, 430) @@ -15,6 +15,26 @@ bg_color = Color(0.509804, 0.584314, 1, 1) [sub_resource type="ShaderMaterial" id="ShaderMaterial_dfnby"] shader = ExtResource("5_xhfa4") +[sub_resource type="AtlasTexture" id="AtlasTexture_c2kbv"] +atlas = ExtResource("5_o00vo") +region = Rect2(0, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rho5p"] +atlas = ExtResource("5_o00vo") +region = Rect2(0, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rcyda"] +atlas = ExtResource("5_o00vo") +region = Rect2(64, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uxt7b"] +atlas = ExtResource("5_o00vo") +region = Rect2(96, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_587d8"] +atlas = ExtResource("5_o00vo") +region = Rect2(64, 32, 64, 32) + [node name="Container" type="MarginContainer"] custom_minimum_size = Vector2(760, 430) offset_right = 40.0 @@ -138,34 +158,68 @@ theme_override_constants/outline_size = 2 theme_override_font_sizes/font_size = 18 text = "Author" -[node name="BackgroundSelect" type="HBoxContainer" parent="."] +[node name="BackgroundSelect" type="Control" parent="."] visible = false layout_mode = 2 -size_flags_vertical = 0 +mouse_filter = 2 [node name="Previous" type="TextureButton" parent="BackgroundSelect"] custom_minimum_size = Vector2(32, 32) layout_mode = 2 +offset_left = 368.0 +offset_top = 65.0 +offset_right = 400.0 +offset_bottom = 97.0 size_flags_horizontal = 0 size_flags_vertical = 0 -texture_normal = ExtResource("6_qghsp") +texture_normal = SubResource("AtlasTexture_c2kbv") ignore_texture_size = true stretch_mode = 0 flip_h = true -[node name="Space" type="Control" parent="BackgroundSelect"] -layout_mode = 2 -size_flags_horizontal = 3 - [node name="Next" type="TextureButton" parent="BackgroundSelect"] custom_minimum_size = Vector2(32, 32) layout_mode = 2 +offset_left = 456.0 +offset_top = 67.0 +offset_right = 488.0 +offset_bottom = 99.0 size_flags_horizontal = 8 size_flags_vertical = 0 -texture_normal = ExtResource("6_qghsp") +texture_normal = SubResource("AtlasTexture_rho5p") ignore_texture_size = true stretch_mode = 0 +[node name="RightEye" type="TextureRect" parent="BackgroundSelect"] +layout_mode = 0 +offset_left = 410.0 +offset_top = 86.0 +offset_right = 450.0 +offset_bottom = 126.0 +scale = Vector2(0.185, 0.185) +mouse_filter = 2 +texture = SubResource("AtlasTexture_rcyda") + +[node name="LeftEye" type="TextureRect" parent="BackgroundSelect"] +layout_mode = 0 +offset_left = 439.0 +offset_top = 83.0 +offset_right = 479.0 +offset_bottom = 123.0 +scale = Vector2(0.185, 0.185) +mouse_filter = 2 +texture = SubResource("AtlasTexture_uxt7b") + +[node name="Mouth" type="TextureRect" parent="BackgroundSelect"] +layout_mode = 0 +offset_left = 421.0 +offset_top = 99.0 +offset_right = 485.0 +offset_bottom = 139.0 +scale = Vector2(0.255, 0.185) +mouse_filter = 2 +texture = SubResource("AtlasTexture_587d8") + [connection signal="gui_input" from="SplashScreen/TextureRect/SecretButton" to="." method="_on_secret_button_gui_input"] [connection signal="pressed" from="BackgroundSelect/Previous" to="." method="_on_previous_pressed"] [connection signal="pressed" from="BackgroundSelect/Next" to="." method="_on_next_pressed"]