130 lines
5.2 KiB
Plaintext
130 lines
5.2 KiB
Plaintext
#include <metal_stdlib>
|
|
|
|
using namespace metal;
|
|
struct buf0 {
|
|
/* 0x0000 */ float2 resolution;
|
|
};
|
|
struct tint_array_wrapper {
|
|
int arr[16];
|
|
};
|
|
struct tint_array_wrapper_1 {
|
|
float4 arr[8];
|
|
};
|
|
struct tint_array_wrapper_2 {
|
|
float4 arr[16];
|
|
};
|
|
struct main_out {
|
|
float4 x_GLF_color_1;
|
|
};
|
|
struct tint_symbol_1 {
|
|
float4 x_GLF_color_1 [[color(0)]];
|
|
};
|
|
|
|
bool collision_vf2_vf4_(thread float2* const pos, thread float4* const quad) {
|
|
bool4 x_116 = bool4(false, false, false, false);
|
|
float const x_118 = (*(pos)).x;
|
|
float const x_120 = (*(quad)).x;
|
|
if ((x_118 < x_120)) {
|
|
return false;
|
|
}
|
|
float const x_125 = (*(pos)).y;
|
|
float const x_127 = (*(quad)).y;
|
|
if ((x_125 < x_127)) {
|
|
return false;
|
|
}
|
|
float const x_132 = (*(pos)).x;
|
|
float const x_134 = (*(quad)).x;
|
|
float const x_136 = (*(quad)).z;
|
|
if ((x_132 > (x_134 + x_136))) {
|
|
return false;
|
|
}
|
|
float const x_142 = (*(pos)).y;
|
|
float const x_144 = (*(quad)).y;
|
|
float const x_146 = (*(quad)).w;
|
|
if ((x_142 > (x_144 + x_146))) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
float4 match_vf2_(thread float2* const pos_1) {
|
|
float4 res = 0.0f;
|
|
int i = 0;
|
|
float2 param = 0.0f;
|
|
float4 param_1 = 0.0f;
|
|
tint_array_wrapper_1 indexable = {};
|
|
tint_array_wrapper_1 indexable_1 = {};
|
|
tint_array_wrapper_1 indexable_2 = {};
|
|
tint_array_wrapper_2 indexable_3 = {};
|
|
res = float4(0.5f, 0.5f, 1.0f, 1.0f);
|
|
i = 0;
|
|
while (true) {
|
|
int const x_156 = i;
|
|
if ((x_156 < 8)) {
|
|
} else {
|
|
break;
|
|
}
|
|
int const x_159 = i;
|
|
float2 const x_160 = *(pos_1);
|
|
param = x_160;
|
|
tint_array_wrapper_1 const tint_symbol_2 = {.arr={float4(4.0f, 4.0f, 20.0f, 4.0f), float4(4.0f, 4.0f, 4.0f, 20.0f), float4(4.0f, 20.0f, 20.0f, 4.0f), float4(20.0f, 4.0f, 4.0f, 8.0f), float4(8.0f, 6.0f, 4.0f, 2.0f), float4(2.0f, 12.0f, 2.0f, 4.0f), float4(16.0f, 2.0f, 4.0f, 4.0f), float4(12.0f, 22.0f, 4.0f, 4.0f)}};
|
|
indexable = tint_symbol_2;
|
|
float4 const x_162 = indexable.arr[x_159];
|
|
param_1 = x_162;
|
|
bool const x_163 = collision_vf2_vf4_(&(param), &(param_1));
|
|
if (x_163) {
|
|
int const x_166 = i;
|
|
tint_array_wrapper_1 const tint_symbol_3 = {.arr={float4(4.0f, 4.0f, 20.0f, 4.0f), float4(4.0f, 4.0f, 4.0f, 20.0f), float4(4.0f, 20.0f, 20.0f, 4.0f), float4(20.0f, 4.0f, 4.0f, 8.0f), float4(8.0f, 6.0f, 4.0f, 2.0f), float4(2.0f, 12.0f, 2.0f, 4.0f), float4(16.0f, 2.0f, 4.0f, 4.0f), float4(12.0f, 22.0f, 4.0f, 4.0f)}};
|
|
indexable_1 = tint_symbol_3;
|
|
float const x_168 = indexable_1.arr[x_166].x;
|
|
int const x_170 = i;
|
|
tint_array_wrapper_1 const tint_symbol_4 = {.arr={float4(4.0f, 4.0f, 20.0f, 4.0f), float4(4.0f, 4.0f, 4.0f, 20.0f), float4(4.0f, 20.0f, 20.0f, 4.0f), float4(20.0f, 4.0f, 4.0f, 8.0f), float4(8.0f, 6.0f, 4.0f, 2.0f), float4(2.0f, 12.0f, 2.0f, 4.0f), float4(16.0f, 2.0f, 4.0f, 4.0f), float4(12.0f, 22.0f, 4.0f, 4.0f)}};
|
|
indexable_2 = tint_symbol_4;
|
|
float const x_172 = indexable_2.arr[x_170].y;
|
|
int const x_175 = i;
|
|
tint_array_wrapper_2 const tint_symbol_5 = {.arr={float4(0.0f, 0.0f, 0.0f, 1.0f), float4(0.5f, 0.0f, 0.0f, 1.0f), float4(0.0f, 0.5f, 0.0f, 1.0f), float4(0.5f, 0.5f, 0.0f, 1.0f), float4(0.0f, 0.0f, 0.5f, 1.0f), float4(0.5f, 0.0f, 0.5f, 1.0f), float4(0.0f, 0.5f, 0.5f, 1.0f), float4(0.5f, 0.5f, 0.5f, 1.0f), float4(0.0f, 0.0f, 0.0f, 1.0f), float4(1.0f, 0.0f, 0.0f, 1.0f), float4(0.0f, 1.0f, 0.0f, 1.0f), float4(1.0f, 1.0f, 0.0f, 1.0f), float4(0.0f, 0.0f, 1.0f, 1.0f), float4(1.0f, 0.0f, 1.0f, 1.0f), float4(0.0f, 1.0f, 1.0f, 1.0f), float4(1.0f, 1.0f, 1.0f, 1.0f)}};
|
|
indexable_3 = tint_symbol_5;
|
|
float4 const x_181 = indexable_3.arr[(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(int(x_168)) * as_type<uint>(int(x_172))))) + as_type<uint>(as_type<int>((as_type<uint>(x_175) * as_type<uint>(9))))))) + as_type<uint>(11))) % 16)];
|
|
res = x_181;
|
|
}
|
|
{
|
|
int const x_182 = i;
|
|
i = as_type<int>((as_type<uint>(x_182) + as_type<uint>(1)));
|
|
}
|
|
}
|
|
float4 const x_184 = res;
|
|
return x_184;
|
|
}
|
|
|
|
void main_1(constant buf0& x_20, thread float4* const tint_symbol_7, thread float4* const tint_symbol_8) {
|
|
float2 lin = 0.0f;
|
|
float2 param_2 = 0.0f;
|
|
float4 const x_105 = *(tint_symbol_7);
|
|
float2 const x_108 = x_20.resolution;
|
|
lin = (float2(x_105.x, x_105.y) / x_108);
|
|
float2 const x_110 = lin;
|
|
lin = floor((x_110 * 32.0f));
|
|
float2 const x_113 = lin;
|
|
param_2 = x_113;
|
|
float4 const x_114 = match_vf2_(&(param_2));
|
|
*(tint_symbol_8) = x_114;
|
|
return;
|
|
}
|
|
|
|
main_out tint_symbol_inner(constant buf0& x_20, float4 gl_FragCoord_param, thread float4* const tint_symbol_9, thread float4* const tint_symbol_10) {
|
|
*(tint_symbol_9) = gl_FragCoord_param;
|
|
main_1(x_20, tint_symbol_9, tint_symbol_10);
|
|
main_out const tint_symbol_6 = {.x_GLF_color_1=*(tint_symbol_10)};
|
|
return tint_symbol_6;
|
|
}
|
|
|
|
fragment tint_symbol_1 tint_symbol(float4 gl_FragCoord_param [[position]], constant buf0& x_20 [[buffer(0)]]) {
|
|
thread float4 tint_symbol_11 = 0.0f;
|
|
thread float4 tint_symbol_12 = 0.0f;
|
|
main_out const inner_result = tint_symbol_inner(x_20, gl_FragCoord_param, &(tint_symbol_11), &(tint_symbol_12));
|
|
tint_symbol_1 wrapper_result = {};
|
|
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
|
|
return wrapper_result;
|
|
}
|
|
|