// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.7.11 on Tue Oct  6 21:17:09 2026
//
//
// Buffer Definitions:
//
// cbuffer PerFrameCB
// {
//
//   uint noise_frame;                  // Offset:    0 Size:     4
//   float noise_scale;                 // Offset:    4 Size:     4
//
// }
//
// cbuffer PerDrawCB
// {
//
//   struct
//   {
//
//       uint width;                    // Offset:    0
//       uint height;                   // Offset:    4
//       bool linear_filtering;         // Offset:    8
//
//   } textures[7];                     // Offset:    0 Size:   108 [unused]
//   float4 combiner_inputs[6];         // Offset:  112 Size:    96 [unused]
//   float4 fog_color;                  // Offset:  208 Size:    16 [unused]
//   float4 grayscale_color;            // Offset:  224 Size:    16 [unused]
//   float4 uv_transform[2];            // Offset:  240 Size:    32 [unused]
//   float4 texture_clamp[2];           // Offset:  272 Size:    32 [unused]
//   float4 fog_params;                 // Offset:  304 Size:    16 [unused]
//   float4 palette_params[2];          // Offset:  320 Size:    32
//   float4 lod_params;                 // Offset:  352 Size:    16
//   float4 uCustom[32];                // Offset:  368 Size:   512 [unused]
//   float4 debug_tint;                 // Offset:  880 Size:    16
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// g_sampler0_s                      sampler      NA          NA    0        1
// g_samplerPal_s                    sampler      NA          NA    6        1
// g_texture0                        texture  float4          2d    0        1
// g_texturePal                      texture  float4          2d    6        1
// IniParams                         texture  float4          1d  120        1
// PerFrameCB                        cbuffer      NA          NA    0        1
// PerDrawCB                         cbuffer      NA          NA    1        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xy
// TEXCOORD                 0   xy          1     NONE   float   xy
// TEXCOORD                 1     z         1     NONE   float     z
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TARGET                0   xyzw        0   TARGET   float   xyzw
//
ps_4_0
dcl_constantbuffer CB0[1], immediateIndexed
dcl_constantbuffer CB1[56], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s6, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t6
dcl_resource_texture1d (float,float,float,float) t120
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_input_ps linear v1.xy
dcl_input_ps linear v1.z
dcl_output o0.xyzw
dcl_temps 9
dcl_indexableTemp x0[16], 4
dcl_indexableTemp x1[16], 4
ld r0.xyzw, l(84, 0, 0, 0), t120.xyzw
ld r1.xyzw, l(85, 0, 0, 0), t120.xyzw
mul r1.y, r1.x, v1.z
mul r1.y, r1.y, l(0.500000)
round_ni r1.y, r1.y
add r2.xy, r0.xzxx, r1.yyyy
lt r0.x, r1.y, v0.x
add r0.z, r1.y, r1.x
lt r0.z, v0.x, r0.z
and r0.x, r0.z, r0.x
mov r2.zw, r0.yyyw
lt r0.yz, v0.xxyx, r2.xxzx
or r0.y, r0.z, r0.y
ge r0.zw, v0.xxxy, r2.yyyw
or r0.z, r0.w, r0.z
or r0.y, r0.z, r0.y
and r0.x, r0.y, r0.x
if_nz r0.x
  discard_nz l(-1)
  ret
endif
mov x0[0].x, l(0)
mov x0[1].x, l(6.000000)
mov x0[2].x, l(1.000000)
mov x0[3].x, l(7.000000)
mov x0[4].x, l(4.000000)
mov x0[5].x, l(2.000000)
mov x0[6].x, l(5.000000)
mov x0[7].x, l(3.000000)
mov x0[8].x, l(3.000000)
mov x0[9].x, l(5.000000)
mov x0[10].x, l(2.000000)
mov x0[11].x, l(4.000000)
mov x0[12].x, l(7.000000)
mov x0[13].x, l(1.000000)
mov x0[14].x, l(6.000000)
mov x0[15].x, l(0)
mov x1[0].x, l(0)
mov x1[1].x, l(4.000000)
mov x1[2].x, l(1.000000)
mov x1[3].x, l(5.000000)
mov x1[4].x, l(6.000000)
mov x1[5].x, l(2.000000)
mov x1[6].x, l(7.000000)
mov x1[7].x, l(3.000000)
mov x1[8].x, l(1.000000)
mov x1[9].x, l(5.000000)
mov x1[10].x, l(0)
mov x1[11].x, l(4.000000)
mov x1[12].x, l(7.000000)
mov x1[13].x, l(3.000000)
mov x1[14].x, l(6.000000)
mov x1[15].x, l(2.000000)
resinfo r0.xyzw, l(0), t0.xyzw
lt r0.z, l(1.500000), cb1[20].y
if_nz r0.z
  mad r0.zw, r0.xxxy, v1.xxxy, l(0.000000, 0.000000, -0.500000, -0.500000)
  frc r0.zw, r0.zzzw
  add r1.x, r0.w, r0.z
  ge r1.x, r1.x, l(1.000000)
  movc r1.w, r1.x, l(-1.000000), l(-0.000000)
  add r2.zw, r0.zzzw, r1.wwww
  div r0.zw, r2.zzzw, r0.xxxy
  add r0.zw, -r0.zzzw, v1.xxxy
  sample r3.xyzw, r0.zwzz, t0.xyzw, s0
  mad r0.z, r3.x, l(255.000000), cb1[20].x
  add r0.z, r0.z, l(0.500000)
  mul r3.x, r0.z, l(0.00390625000)
  mov r3.yw, l(0,0.500000,0,0.500000)
  sample r4.xyzw, r3.xyxx, t6.xyzw, s6
  lt r0.zw, l(0.000000, 0.000000, 0.000000, 0.000000), r2.zzzw
  and r0.zw, r0.zzzw, l(0, 0, 1, 1)
  lt r3.xy, r2.zwzz, l(0.000000, 0.000000, 0.000000, 0.000000)
  iadd r0.zw, r0.zzzw, r3.xxxy
  itof r0.zw, r0.zzzw
  add r2.xy, -r0.zwzz, r2.zwzz
  div r5.xyzw, r2.xwzy, r0.xyxy
  add r5.xyzw, -r5.xyzw, v1.xyxy
  sample r6.xyzw, r5.xyxx, t0.xyzw, s0
  mad r0.z, r6.x, l(255.000000), cb1[20].x
  add r0.z, r0.z, l(0.500000)
  mul r3.z, r0.z, l(0.00390625000)
  sample r3.xyzw, r3.zwzz, t6.xyzw, s6
  sample r5.xyzw, r5.zwzz, t0.xyzw, s0
  mad r0.z, r5.x, l(255.000000), cb1[20].x
  add r0.z, r0.z, l(0.500000)
  mul r2.x, r0.z, l(0.00390625000)
  mov r2.y, l(0.500000)
  sample r5.xyzw, r2.xyxx, t6.xyzw, s6
  add r3.xyz, -r4.xyzx, r3.xyzx
  mad r2.xyz, r3.xyzx, |r2.zzzz|, r4.xyzx
  add r3.xyz, -r4.xyzx, r5.xyzx
  mad r2.xyz, r3.xyzx, |r2.wwww|, r2.xyzx
else
  lt r0.z, l(0.500000), cb1[20].y
  if_nz r0.z
    mad r3.xyzw, r0.xyxy, v1.xyxy, l(-0.500000, -0.500000, -0.500000, -0.500000)
    frc r0.zw, r3.zzzw
    round_ni r3.xyzw, r3.xyzw
    add r3.xyzw, r3.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000)
    div r3.xyzw, r3.xyzw, r0.xyxy
    div r4.xyzw, l(1.000000, 0.000000, 0.000000, 1.000000), r0.xyxy
    sample r5.xyzw, r3.zwzz, t0.xyzw, s0
    mad r0.x, r5.x, l(255.000000), cb1[20].x
    add r0.x, r0.x, l(0.500000)
    mul r5.x, r0.x, l(0.00390625000)
    mov r5.yw, l(0,0.500000,0,0.500000)
    sample r6.xyzw, r5.xyxx, t6.xyzw, s6
    add r3.xyzw, r3.xyzw, r4.xyzw
    sample r7.xyzw, r3.xyxx, t0.xyzw, s0
    mad r0.x, r7.x, l(255.000000), cb1[20].x
    add r0.x, r0.x, l(0.500000)
    mul r5.z, r0.x, l(0.00390625000)
    sample r5.xyzw, r5.zwzz, t6.xyzw, s6
    sample r7.xyzw, r3.zwzz, t0.xyzw, s0
    mad r0.x, r7.x, l(255.000000), cb1[20].x
    add r0.x, r0.x, l(0.500000)
    mul r7.x, r0.x, l(0.00390625000)
    mov r7.yw, l(0,0.500000,0,0.500000)
    sample r8.xyzw, r7.xyxx, t6.xyzw, s6
    add r0.xy, r4.zwzz, r3.xyxx
    sample r3.xyzw, r0.xyxx, t0.xyzw, s0
    mad r0.x, r3.x, l(255.000000), cb1[20].x
    add r0.x, r0.x, l(0.500000)
    mul r7.z, r0.x, l(0.00390625000)
    sample r1.xyzw, r7.zwzz, t6.xyzw, s6
    add r3.xyz, r5.xyzx, -r6.xyzx
    mad r3.xyz, r3.xyzx, r0.zzzz, r6.xyzx
    add r4.xyz, r1.xyzx, -r8.xyzx
    mad r0.xyz, r4.xyzx, r0.zzzz, r8.xyzx
    add r0.xyz, r0.xyzx, -r3.xyzx
    mad r2.xyz, r0.xyzx, r0.wwww, r3.xyzx
  else
    sample r1.xyzw, v1.xyxx, t0.xyzw, s0
    mad r0.x, r1.x, l(255.000000), cb1[20].x
    add r0.x, r0.x, l(0.500000)
    mul r0.x, r0.x, l(0.00390625000)
    mov r0.y, l(0.500000)
    sample r2.xyzw, r0.xyxx, t6.xyzw, s6
  endif
endif
add r0.xyz, r2.xyzx, l(0.510000, 0.510000, 0.510000, 0.000000)
mul r2.xyz, r0.xyzx, l(0.495049506, 0.495049506, 0.495049506, 0.000000)
round_ni r2.xyz, r2.xyzx
mul r3.xy, r2.yzyy, l(2.020000, 2.020000, 0.000000, 0.000000)
mov r1.yz, -r3.xxyx
mad r0.xyz, -r2.xyzx, l(2.020000, 2.020000, 2.020000, 0.000000), r0.xyzx
add_sat r0.xyz, r0.xyzx, l(-0.510000, -0.510000, -0.510000, 0.000000)
add r0.w, l(0.500000), cb1[22].w
round_z r0.w, r0.w
ftoi r1.x, r0.w
ige r2.x, r1.x, l(4)
if_z r2.x
  mul r2.yz, v0.yyxy, cb0[0].yyyy
  round_ni r2.yz, r2.yyzy
  eq r0.w, r0.w, l(0.000000)
  if_nz r0.w
    ftoi r3.xy, r2.zyzz
    and r3.xy, r3.xyxx, l(3, 3, 0, 0)
    ishl r0.w, r3.y, l(2)
    iadd r0.w, r0.w, r3.x
    itof r0.w, r0.w
    ftou r0.w, r0.w
    mov r0.w, x0[r0.w + 0].x
  else
    ieq r2.w, r1.x, l(1)
    if_nz r2.w
      ftoi r3.xy, r2.zyzz
      and r3.xy, r3.xyxx, l(3, 3, 0, 0)
      ishl r2.w, r3.y, l(2)
      iadd r2.w, r2.w, r3.x
      itof r2.w, r2.w
      ftou r2.w, r2.w
      mov r0.w, x1[r2.w + 0].x
    else
      ieq r1.x, r1.x, l(2)
      if_nz r1.x
        utof r1.x, cb0[0].x
        ftoi r2.yz, r2.yyzy
        imul null, r2.yz, r2.yyzy, l(0, 0xe336beb9, 0x5f356495, 0)
        utof r2.yz, r2.yyzy
        ftoi r2.yz, r2.yyzy
        xor r2.y, r2.z, r2.y
        ftoi r1.x, r1.x
        imul null, r1.x, r1.x, l(0x9e3779b1)
        utof r1.x, r1.x
        ftoi r1.x, r1.x
        xor r1.x, r2.y, r1.x
        itof r2.y, r1.x
        ftou r2.y, r2.y
        ushr r2.y, r2.y, l(16)
        utof r2.y, r2.y
        ftoi r2.y, r2.y
        xor r1.x, r1.x, r2.y
        imul null, r1.x, r1.x, l(0x85ebca77)
        utof r2.y, r1.x
        ushr r1.x, r1.x, l(13)
        utof r1.x, r1.x
        ftoi r1.x, r1.x
        ftoi r2.y, r2.y
        xor r1.x, r1.x, r2.y
        imul null, r1.x, r1.x, l(0xc2b2ae3d)
        utof r2.y, r1.x
        ushr r1.x, r1.x, l(16)
        utof r1.x, r1.x
        ftoi r1.x, r1.x
        ftoi r2.y, r2.y
        xor r1.x, r1.x, r2.y
        and r1.x, r1.x, l(7)
        itof r0.w, r1.x
      else
        mov r0.w, l(0)
      endif
    endif
  endif
  mad r2.yzw, r0.xxyz, l(0.000000, 255.000000, 255.000000, 255.000000), r0.wwww
  min r2.yzw, r2.yyzw, l(0.000000, 255.000000, 255.000000, 255.000000)
  mul r2.yzw, r2.yyzw, l(0.000000, 0.125000, 0.125000, 0.125000)
  round_ni r2.yzw, r2.yyzw
  mul r3.xyz, r2.yzwy, l(0.250000, 0.250000, 0.250000, 0.000000)
  round_ni r3.xyz, r3.xyzx
  mad r2.yzw, r2.yyzw, l(0.000000, 8.000000, 8.000000, 8.000000), r3.xxyz
  mul r2.yzw, r2.yyzw, l(0.000000, 0.00392156886, 0.00392156886, 0.00392156886)
else
  movc r2.yzw, r2.xxxx, r0.xxyz, r1.yyzw
endif
add r0.xyz, -r2.yzwy, cb1[55].xyzx
mad o0.xyz, cb1[55].wwww, r0.xyzx, r2.yzwy
mov o0.w, l(1.000000)
ret
// Approximately 230 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with geo-11 v0.7.11 on Tue Oct  6 21:17:09 2026
//
// cbuffer PerFrameCB : register(b0)
// {
//   uint noise_frame : packoffset(c0);
//   float noise_scale : packoffset(c0.y);
// }
//
// cbuffer PerDrawCB : register(b1)
// {
//
//   struct
//   {
//     uint width;
//     uint height;
//     bool linear_filtering;
//   } textures[7] : packoffset(c0);
//
//   float4 combiner_inputs[6] : packoffset(c7);
//   float4 fog_color : packoffset(c13);
//   float4 grayscale_color : packoffset(c14);
//   float4 uv_transform[2] : packoffset(c15);
//   float4 texture_clamp[2] : packoffset(c17);
//   float4 fog_params : packoffset(c19);
//   float4 palette_params[2] : packoffset(c20);
//   float4 lod_params : packoffset(c22);
//   float4 uCustom[32] : packoffset(c23);
//   float4 debug_tint : packoffset(c55);
// }
//
// SamplerState g_sampler0_s_s : register(s0);
// SamplerState g_samplerPal_s_s : register(s6);
// Texture2D<float4> g_texture0 : register(t0);
// Texture2D<float4> g_texturePal : register(t6);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_POSITION0,
//   float2 v1 : TEXCOORD0,
//   float w1 : TEXCOORD1,
//   out float4 o0 : SV_TARGET0)
// {
//   float4 r0,r1,r2,r3,r4,r5,r6,r7,r8;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   float4 x0[16];
//   float4 x1[16];
//   r0.xyzw = IniParams.Load(float4(84,0,0,0)).xyzw;
//   r1.xyzw = IniParams.Load(float4(85,0,0,0)).xyzw;
//   r1.y = w1.x * r1.x;
//   r1.y = 0.5 * r1.y;
//   r1.y = floor(r1.y);
//   r2.xy = r1.yy + r0.xz;
//   r0.x = cmp(r1.y < v0.x);
//   r0.z = r1.x + r1.y;
//   r0.z = cmp(v0.x < r0.z);
//   r0.x = r0.z ? r0.x : 0;
//   r2.zw = r0.yw;
//   r0.yz = cmp(v0.xy < r2.xz);
//   r0.y = (int)r0.z | (int)r0.y;
//   r0.zw = cmp(v0.xy >= r2.yw);
//   r0.z = (int)r0.w | (int)r0.z;
//   r0.y = (int)r0.z | (int)r0.y;
//   r0.x = r0.y ? r0.x : 0;
//   if (r0.x != 0) {
//     if (-1 != 0) discard;
//     return;
//   }
//   x0[0].x = 0;
//   x0[1].x = 6;
//   x0[2].x = 1;
//   x0[3].x = 7;
//   x0[4].x = 4;
//   x0[5].x = 2;
//   x0[6].x = 5;
//   x0[7].x = 3;
//   x0[8].x = 3;
//   x0[9].x = 5;
//   x0[10].x = 2;
//   x0[11].x = 4;
//   x0[12].x = 7;
//   x0[13].x = 1;
//   x0[14].x = 6;
//   x0[15].x = 0;
//   x1[0].x = 0;
//   x1[1].x = 4;
//   x1[2].x = 1;
//   x1[3].x = 5;
//   x1[4].x = 6;
//   x1[5].x = 2;
//   x1[6].x = 7;
//   x1[7].x = 3;
//   x1[8].x = 1;
//   x1[9].x = 5;
//   x1[10].x = 0;
//   x1[11].x = 4;
//   x1[12].x = 7;
//   x1[13].x = 3;
//   x1[14].x = 6;
//   x1[15].x = 2;
//   g_texture0.GetDimensions(0, fDest.x, fDest.y, fDest.z);
//   r0.xyzw = fDest.xyzw;
//   r0.z = cmp(1.5 < palette_params[0].y);
//   if (r0.z != 0) {
//     r0.zw = r0.xy * v1.xy + float2(-0.5,-0.5);
//     r0.zw = frac(r0.zw);
//     r1.x = r0.z + r0.w;
//     r1.x = cmp(r1.x >= 1);
//     r1.w = r1.x ? -1 : -0;
//     r2.zw = r1.ww + r0.zw;
//     r0.zw = r2.zw / r0.xy;
//     r0.zw = v1.xy + -r0.zw;
//     r3.xyzw = g_texture0.Sample(g_sampler0_s_s, r0.zw).xyzw;
//     r0.z = r3.x * 255 + palette_params[0].x;
//     r0.z = 0.5 + r0.z;
//     r3.x = 0.00390625 * r0.z;
//     r3.yw = float2(0.5,0.5);
//     r4.xyzw = g_texturePal.Sample(g_samplerPal_s_s, r3.xy).xyzw;
//     r0.zw = cmp(float2(0,0) < r2.zw);
//     r0.zw = r0.zw ? float2(0,0) : 0;
//     r3.xy = cmp(r2.zw < float2(0,0));
//     r0.zw = (int2)r0.zw + (int2)r3.xy;
//     r0.zw = (int2)r0.zw;
//     r2.xy = r2.zw + -r0.zw;
//     r5.xyzw = r2.xwzy / r0.xyxy;
//     r5.xyzw = v1.xyxy + -r5.xyzw;
//     r6.xyzw = g_texture0.Sample(g_sampler0_s_s, r5.xy).xyzw;
//     r0.z = r6.x * 255 + palette_params[0].x;
//     r0.z = 0.5 + r0.z;
//     r3.z = 0.00390625 * r0.z;
//     r3.xyzw = g_texturePal.Sample(g_samplerPal_s_s, r3.zw).xyzw;
//     r5.xyzw = g_texture0.Sample(g_sampler0_s_s, r5.zw).xyzw;
//     r0.z = r5.x * 255 + palette_params[0].x;
//     r0.z = 0.5 + r0.z;
//     r2.x = 0.00390625 * r0.z;
//     r2.y = 0.5;
//     r5.xyzw = g_texturePal.Sample(g_samplerPal_s_s, r2.xy).xyzw;
//     r3.xyz = r3.xyz + -r4.xyz;
//     r2.xyz = r3.xyz * abs(r2.zzz) + r4.xyz;
//     r3.xyz = r5.xyz + -r4.xyz;
//     r2.xyz = r3.xyz * abs(r2.www) + r2.xyz;
//   } else {
//     r0.z = cmp(0.5 < palette_params[0].y);
//     if (r0.z != 0) {
//       r3.xyzw = r0.xyxy * v1.xyxy + float4(-0.5,-0.5,-0.5,-0.5);
//       r0.zw = frac(r3.zw);
//       r3.xyzw = floor(r3.xyzw);
//       r3.xyzw = float4(0.5,0.5,0.5,0.5) + r3.xyzw;
//       r3.xyzw = r3.xyzw / r0.xyxy;
//       r4.xyzw = float4(1,0,0,1) / r0.xyxy;
//       r5.xyzw = g_texture0.Sample(g_sampler0_s_s, r3.zw).xyzw;
//       r0.x = r5.x * 255 + palette_params[0].x;
//       r0.x = 0.5 + r0.x;
//       r5.x = 0.00390625 * r0.x;
//       r5.yw = float2(0.5,0.5);
//       r6.xyzw = g_texturePal.Sample(g_samplerPal_s_s, r5.xy).xyzw;
//       r3.xyzw = r4.xyzw + r3.xyzw;
//       r7.xyzw = g_texture0.Sample(g_sampler0_s_s, r3.xy).xyzw;
//       r0.x = r7.x * 255 + palette_params[0].x;
//       r0.x = 0.5 + r0.x;
//       r5.z = 0.00390625 * r0.x;
//       r5.xyzw = g_texturePal.Sample(g_samplerPal_s_s, r5.zw).xyzw;
//       r7.xyzw = g_texture0.Sample(g_sampler0_s_s, r3.zw).xyzw;
//       r0.x = r7.x * 255 + palette_params[0].x;
//       r0.x = 0.5 + r0.x;
//       r7.x = 0.00390625 * r0.x;
//       r7.yw = float2(0.5,0.5);
//       r8.xyzw = g_texturePal.Sample(g_samplerPal_s_s, r7.xy).xyzw;
//       r0.xy = r3.xy + r4.zw;
//       r3.xyzw = g_texture0.Sample(g_sampler0_s_s, r0.xy).xyzw;
//       r0.x = r3.x * 255 + palette_params[0].x;
//       r0.x = 0.5 + r0.x;
//       r7.z = 0.00390625 * r0.x;
//       r1.xyzw = g_texturePal.Sample(g_samplerPal_s_s, r7.zw).xyzw;
//       r3.xyz = -r6.xyz + r5.xyz;
//       r3.xyz = r3.xyz * r0.zzz + r6.xyz;
//       r4.xyz = -r8.xyz + r1.xyz;
//       r0.xyz = r4.xyz * r0.zzz + r8.xyz;
//       r0.xyz = -r3.xyz + r0.xyz;
//       r2.xyz = r0.xyz * r0.www + r3.xyz;
//     } else {
//       r1.xyzw = g_texture0.Sample(g_sampler0_s_s, v1.xy).xyzw;
//       r0.x = r1.x * 255 + palette_params[0].x;
//       r0.x = 0.5 + r0.x;
//       r0.x = 0.00390625 * r0.x;
//       r0.y = 0.5;
//       r2.xyzw = g_texturePal.Sample(g_samplerPal_s_s, r0.xy).xyzw;
//     }
//   }
//   r0.xyz = float3(0.50999999,0.50999999,0.50999999) + r2.xyz;
//   r2.xyz = float3(0.495049506,0.495049506,0.495049506) * r0.xyz;
//   r2.xyz = floor(r2.xyz);
//   r3.xy = float2(2.01999998,2.01999998) * r2.yz;
//   r1.yz = -r3.xy;
//   r0.xyz = -r2.xyz * float3(2.01999998,2.01999998,2.01999998) + r0.xyz;
//   r0.xyz = saturate(float3(-0.50999999,-0.50999999,-0.50999999) + r0.xyz);
//   r0.w = lod_params.w + 0.5;
//   r0.w = trunc(r0.w);
//   r1.x = (int)r0.w;
//   r2.x = cmp((int)r1.x >= 4);
//   if (r2.x == 0) {
//     r2.yz = noise_scale * v0.yx;
//     r2.yz = floor(r2.yz);
//     r0.w = cmp(r0.w == 0.000000);
//     if (r0.w != 0) {
//       r3.xy = (int2)r2.zy;
//       r3.xy = (int2)r3.xy & int2(3,3);
//       r0.w = (uint)r3.y << 2;
//       r0.w = (int)r0.w + (int)r3.x;
//       r0.w = (int)r0.w;
//       r0.w = (uint)r0.w;
//       r0.w = x0[r0.w+0].x;
//     } else {
//       r2.w = cmp((int)r1.x == 1);
//       if (r2.w != 0) {
//         r3.xy = (int2)r2.zy;
//         r3.xy = (int2)r3.xy & int2(3,3);
//         r2.w = (uint)r3.y << 2;
//         r2.w = (int)r2.w + (int)r3.x;
//         r2.w = (int)r2.w;
//         r2.w = (uint)r2.w;
//         r0.w = x1[r2.w+0].x;
//       } else {
//         r1.x = cmp((int)r1.x == 2);
//         if (r1.x != 0) {
//           r1.x = noise_frame;
//           r2.yz = (int2)r2.yz;
//           r2.yz = (int2)r2.yz * int2(0xe336beb9,0x5f356495);
//           r2.yz = (uint2)r2.yz;
//           r2.yz = (int2)r2.yz;
//           r2.y = (int)r2.z ^ (int)r2.y;
//           r1.x = (int)r1.x;
//           r1.x = (int)r1.x * 0x9e3779b1;
//           r1.x = (uint)r1.x;
//           r1.x = (int)r1.x;
//           r1.x = (int)r2.y ^ (int)r1.x;
//           r2.y = (int)r1.x;
//           r2.y = (uint)r2.y;
//           r2.y = (uint)r2.y >> 16;
//           r2.y = (uint)r2.y;
//           r2.y = (int)r2.y;
//           r1.x = (int)r1.x ^ (int)r2.y;
//           r1.x = (int)r1.x * 0x85ebca77;
//           r2.y = (uint)r1.x;
//           r1.x = (uint)r1.x >> 13;
//           r1.x = (uint)r1.x;
//           r1.x = (int)r1.x;
//           r2.y = (int)r2.y;
//           r1.x = (int)r1.x ^ (int)r2.y;
//           r1.x = (int)r1.x * 0xc2b2ae3d;
//           r2.y = (uint)r1.x;
//           r1.x = (uint)r1.x >> 16;
//           r1.x = (uint)r1.x;
//           r1.x = (int)r1.x;
//           r2.y = (int)r2.y;
//           r1.x = (int)r1.x ^ (int)r2.y;
//           r1.x = (int)r1.x & 7;
//           r0.w = (int)r1.x;
//         } else {
//           r0.w = 0;
//         }
//       }
//     }
//     r2.yzw = r0.xyz * float3(255,255,255) + r0.www;
//     r2.yzw = min(float3(255,255,255), r2.yzw);
//     r2.yzw = float3(0.125,0.125,0.125) * r2.yzw;
//     r2.yzw = floor(r2.yzw);
//     r3.xyz = float3(0.25,0.25,0.25) * r2.yzw;
//     r3.xyz = floor(r3.xyz);
//     r2.yzw = r2.yzw * float3(8,8,8) + r3.xyz;
//     r2.yzw = float3(0.00392156886,0.00392156886,0.00392156886) * r2.yzw;
//   } else {
//     r2.yzw = r2.xxx ? r0.xyz : r1.yzw;
//   }
//   r0.xyz = debug_tint.xyz + -r2.yzw;
//   o0.xyz = debug_tint.www * r0.xyz + r2.yzw;
//   o0.w = 1;
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
