#include using namespace metal; struct Mat4x4_ { /* 0x0000 */ packed_float4 mx; /* 0x0010 */ packed_float4 my; /* 0x0020 */ packed_float4 mz; /* 0x0030 */ packed_float4 mw; }; struct Mat4x3_ { /* 0x0000 */ packed_float4 mx; /* 0x0010 */ packed_float4 my; /* 0x0020 */ packed_float4 mz; }; struct Mat4x2_ { /* 0x0000 */ packed_float4 mx; /* 0x0010 */ packed_float4 my; }; struct ub_SceneParams { /* 0x0000 */ Mat4x4_ u_Projection; }; struct tint_array_wrapper { /* 0x0000 */ Mat4x2_ arr[1]; }; struct ub_MaterialParams { /* 0x0000 */ tint_array_wrapper u_TexMtx; /* 0x0020 */ packed_float4 u_Misc0_; }; struct tint_array_wrapper_1 { /* 0x0000 */ Mat4x3_ arr[32]; }; struct ub_PacketParams { /* 0x0000 */ tint_array_wrapper_1 u_PosMtx; }; struct VertexOutput { float4 v_Color; float2 v_TexCoord; float4 member; }; struct tint_symbol_2 { float3 a_Position [[attribute(0)]]; float2 a_UV [[attribute(1)]]; float4 a_Color [[attribute(2)]]; float3 a_Normal [[attribute(3)]]; float a_PosMtxIdx [[attribute(4)]]; }; struct tint_symbol_3 { float4 v_Color [[user(locn0)]]; float2 v_TexCoord [[user(locn1)]]; float4 member [[position]]; }; float3 Mat4x3GetCol0_(Mat4x3_ m) { Mat4x3_ m1 = {}; m1 = m; Mat4x3_ const _e2 = m1; Mat4x3_ const _e5 = m1; Mat4x3_ const _e8 = m1; return float3(_e2.mx.x, _e5.my.x, _e8.mz.x); } float3 Mat4x3GetCol1_(Mat4x3_ m2) { Mat4x3_ m3 = {}; m3 = m2; Mat4x3_ const _e2 = m3; Mat4x3_ const _e5 = m3; Mat4x3_ const _e8 = m3; return float3(_e2.mx.y, _e5.my.y, _e8.mz.y); } float3 Mat4x3GetCol2_(Mat4x3_ m4) { Mat4x3_ m5 = {}; m5 = m4; Mat4x3_ const _e2 = m5; Mat4x3_ const _e5 = m5; Mat4x3_ const _e8 = m5; return float3(_e2.mx.z, _e5.my.z, _e8.mz.z); } float3 Mat4x3GetCol3_(Mat4x3_ m6) { Mat4x3_ m7 = {}; m7 = m6; Mat4x3_ const _e2 = m7; Mat4x3_ const _e5 = m7; Mat4x3_ const _e8 = m7; return float3(_e2.mx.w, _e5.my.w, _e8.mz.w); } float4 Mul(Mat4x4_ m8, float4 v) { Mat4x4_ m9 = {}; float4 v1 = 0.0f; m9 = m8; v1 = v; Mat4x4_ const _e4 = m9; float4 const _e6 = v1; Mat4x4_ const _e8 = m9; float4 const _e10 = v1; Mat4x4_ const _e12 = m9; float4 const _e14 = v1; Mat4x4_ const _e16 = m9; float4 const _e18 = v1; return float4(dot(_e4.mx, _e6), dot(_e8.my, _e10), dot(_e12.mz, _e14), dot(_e16.mw, _e18)); } float3 Mul1(Mat4x3_ m10, float4 v2) { Mat4x3_ m11 = {}; float4 v3 = 0.0f; m11 = m10; v3 = v2; Mat4x3_ const _e4 = m11; float4 const _e6 = v3; Mat4x3_ const _e8 = m11; float4 const _e10 = v3; Mat4x3_ const _e12 = m11; float4 const _e14 = v3; return float3(dot(_e4.mx, _e6), dot(_e8.my, _e10), dot(_e12.mz, _e14)); } float2 Mul2(Mat4x2_ m12, float4 v4) { Mat4x2_ m13 = {}; float4 v5 = 0.0f; m13 = m12; v5 = v4; Mat4x2_ const _e4 = m13; float4 const _e6 = v5; Mat4x2_ const _e8 = m13; float4 const _e10 = v5; return float2(dot(_e4.mx, _e6), dot(_e8.my, _e10)); } float4 Mul3(float3 v6, Mat4x3_ m14) { float3 v7 = 0.0f; Mat4x3_ m15 = {}; v7 = v6; m15 = m14; Mat4x3_ const _e5 = m15; float3 const _e6 = Mat4x3GetCol0_(_e5); float3 const _e7 = v7; Mat4x3_ const _e10 = m15; float3 const _e11 = Mat4x3GetCol1_(_e10); float3 const _e12 = v7; Mat4x3_ const _e15 = m15; float3 const _e16 = Mat4x3GetCol2_(_e15); float3 const _e17 = v7; Mat4x3_ const _e20 = m15; float3 const _e21 = Mat4x3GetCol3_(_e20); float3 const _e22 = v7; return float4(dot(_e6, _e7), dot(_e11, _e12), dot(_e16, _e17), dot(_e21, _e22)); } Mat4x4_ _Mat4x4_(float n) { float n1 = 0.0f; Mat4x4_ o = {}; n1 = n; float const _e4 = n1; o.mx = float4(_e4, 0.0f, 0.0f, 0.0f); float const _e11 = n1; o.my = float4(0.0f, _e11, 0.0f, 0.0f); float const _e18 = n1; o.mz = float4(0.0f, 0.0f, _e18, 0.0f); float const _e25 = n1; o.mw = float4(0.0f, 0.0f, 0.0f, _e25); Mat4x4_ const _e27 = o; return _e27; } Mat4x4_ _Mat4x4_1(Mat4x3_ m16) { Mat4x3_ m17 = {}; Mat4x4_ o1 = {}; m17 = m16; Mat4x4_ const _e4 = _Mat4x4_(1.0f); o1 = _e4; Mat4x3_ const _e7 = m17; o1.mx = _e7.mx; Mat4x3_ const _e10 = m17; o1.my = _e10.my; Mat4x3_ const _e13 = m17; o1.mz = _e13.mz; Mat4x4_ const _e15 = o1; return _e15; } Mat4x4_ _Mat4x4_2(Mat4x2_ m18) { Mat4x2_ m19 = {}; Mat4x4_ o2 = {}; m19 = m18; Mat4x4_ const _e4 = _Mat4x4_(1.0f); o2 = _e4; Mat4x2_ const _e7 = m19; o2.mx = _e7.mx; Mat4x2_ const _e10 = m19; o2.my = _e10.my; Mat4x4_ const _e12 = o2; return _e12; } Mat4x3_ _Mat4x3_(float n2) { float n3 = 0.0f; Mat4x3_ o3 = {}; n3 = n2; float const _e4 = n3; o3.mx = float4(_e4, 0.0f, 0.0f, 0.0f); float const _e11 = n3; o3.my = float4(0.0f, _e11, 0.0f, 0.0f); float const _e18 = n3; o3.mz = float4(0.0f, 0.0f, _e18, 0.0f); Mat4x3_ const _e21 = o3; return _e21; } Mat4x3_ _Mat4x3_1(Mat4x4_ m20) { Mat4x4_ m21 = {}; Mat4x3_ o4 = {}; m21 = m20; Mat4x4_ const _e4 = m21; o4.mx = _e4.mx; Mat4x4_ const _e7 = m21; o4.my = _e7.my; Mat4x4_ const _e10 = m21; o4.mz = _e10.mz; Mat4x3_ const _e12 = o4; return _e12; } void main1(constant ub_PacketParams& global2, constant ub_SceneParams& global, constant ub_MaterialParams& global1, thread float* const tint_symbol_6, thread float3* const tint_symbol_7, thread float4* const tint_symbol_8, thread float4* const tint_symbol_9, thread float4* const tint_symbol_10, thread float3* const tint_symbol_11, thread float2* const tint_symbol_12, thread float2* const tint_symbol_13) { Mat4x3_ t_PosMtx = {}; float2 t_TexSpaceCoord = 0.0f; float const _e15 = *(tint_symbol_6); Mat4x3_ const _e18 = global2.u_PosMtx.arr[int(_e15)]; t_PosMtx = _e18; Mat4x3_ const _e23 = t_PosMtx; Mat4x4_ const _e24 = _Mat4x4_1(_e23); float3 const _e25 = *(tint_symbol_7); Mat4x3_ const _e29 = t_PosMtx; Mat4x4_ const _e30 = _Mat4x4_1(_e29); float3 const _e31 = *(tint_symbol_7); float4 const _e34 = Mul(_e30, float4(_e31, 1.0f)); Mat4x4_ const _e35 = global.u_Projection; Mat4x3_ const _e37 = t_PosMtx; Mat4x4_ const _e38 = _Mat4x4_1(_e37); float3 const _e39 = *(tint_symbol_7); Mat4x3_ const _e43 = t_PosMtx; Mat4x4_ const _e44 = _Mat4x4_1(_e43); float3 const _e45 = *(tint_symbol_7); float4 const _e48 = Mul(_e44, float4(_e45, 1.0f)); float4 const _e49 = Mul(_e35, _e48); *(tint_symbol_8) = _e49; float4 const _e50 = *(tint_symbol_9); *(tint_symbol_10) = _e50; float4 const _e52 = global1.u_Misc0_; if ((_e52.x == 2.0f)) { { float3 const _e59 = *(tint_symbol_11); Mat4x2_ const _e64 = global1.u_TexMtx.arr[0]; float3 const _e65 = *(tint_symbol_11); float2 const _e68 = Mul2(_e64, float4(_e65, 1.0f)); *(tint_symbol_12) = _e68.xy; return; } } else { { float2 const _e73 = *(tint_symbol_13); Mat4x2_ const _e79 = global1.u_TexMtx.arr[0]; float2 const _e80 = *(tint_symbol_13); float2 const _e84 = Mul2(_e79, float4(_e80, 1.0f, 1.0f)); *(tint_symbol_12) = _e84.xy; return; } } } vertex tint_symbol_3 tint_symbol(tint_symbol_2 tint_symbol_1 [[stage_in]], constant ub_PacketParams& global2 [[buffer(2)]], constant ub_SceneParams& global [[buffer(0)]], constant ub_MaterialParams& global1 [[buffer(1)]]) { thread float3 tint_symbol_14 = 0.0f; thread float2 tint_symbol_15 = 0.0f; thread float4 tint_symbol_16 = 0.0f; thread float3 tint_symbol_17 = 0.0f; thread float tint_symbol_18 = 0.0f; thread float4 tint_symbol_19 = 0.0f; thread float4 tint_symbol_20 = 0.0f; thread float2 tint_symbol_21 = 0.0f; float3 const a_Position = tint_symbol_1.a_Position; float2 const a_UV = tint_symbol_1.a_UV; float4 const a_Color = tint_symbol_1.a_Color; float3 const a_Normal = tint_symbol_1.a_Normal; float const a_PosMtxIdx = tint_symbol_1.a_PosMtxIdx; tint_symbol_14 = a_Position; tint_symbol_15 = a_UV; tint_symbol_16 = a_Color; tint_symbol_17 = a_Normal; tint_symbol_18 = a_PosMtxIdx; main1(global2, global, global1, &(tint_symbol_18), &(tint_symbol_14), &(tint_symbol_19), &(tint_symbol_16), &(tint_symbol_20), &(tint_symbol_17), &(tint_symbol_21), &(tint_symbol_15)); float4 const _e11 = tint_symbol_20; float2 const _e13 = tint_symbol_21; float4 const _e15 = tint_symbol_19; VertexOutput const tint_symbol_4 = {.v_Color=_e11, .v_TexCoord=_e13, .member=_e15}; tint_symbol_3 const tint_symbol_5 = {.v_Color=tint_symbol_4.v_Color, .v_TexCoord=tint_symbol_4.v_TexCoord, .member=tint_symbol_4.member}; return tint_symbol_5; }