//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 DiffuseOverrideParameter;
//   float2 DistanceFadeParameters;
//   sampler2D LightAttenuationTexture;
//   float4 LightColorAndFalloffExponent;
//   sampler2D PixelTexture2D_0;
//   sampler2D PixelTexture2D_1;
//   float4 ScreenPositionScaleBias;
//   float4 SpecularOverrideParameter;
//   float TwoSidedSign;
//   float4 UniformPixelScalars_0;
//   float4 UniformPixelScalars_3;
//   float4 UniformPixelScalars_4;
//   float4 UniformPixelVector_0;
//   float4 UniformPixelVector_3;
//   float4x4 ViewProjectionMatrix;
//   bool bEnableDistanceShadowFading;
//   bool bReceiveDynamicShadows;
//
//
// Registers:
//
//   Name                         Reg   Size
//   ---------------------------- ----- ----
//   bReceiveDynamicShadows       b0       1
//   bEnableDistanceShadowFading  b1       1
//   TwoSidedSign                 c0       1
//   ScreenPositionScaleBias      c1       1
//   DiffuseOverrideParameter     c4       1
//   SpecularOverrideParameter    c5       1
//   ViewProjectionMatrix         c8       4
//   UniformPixelVector_0         c12      1
//   UniformPixelVector_3         c13      1
//   UniformPixelScalars_0        c14      1
//   UniformPixelScalars_3        c15      1
//   UniformPixelScalars_4        c16      1
//   LightColorAndFalloffExponent c17      1
//   DistanceFadeParameters       c18      1
//   LightAttenuationTexture      s0       1
//   PixelTexture2D_0             s1       1
//   PixelTexture2D_1             s2       1
//

    ps_3_0
    def c2, -1, 1, 0, 2
    def c3, -0.333299994, -9.99999997e-007, 15, 0
    dcl_texcoord v0.xy
    dcl_texcoord4_pp v1.xyz
    dcl_texcoord6 v2.xyz
    dcl_texcoord7 v3
    dcl vFace
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2

def c220, 0, 1, 0.0625, 0.5
dcl_2d s15

    mul r0.xyz, c9.xyww, v3.y
    mad r0.xyz, c8.xyww, v3.x, r0
    mad r0.xyz, c10.xyww, v3.z, r0
    mad r0.xyz, c11.xyww, v3.w, r0

// Unreal Engine halo fix inserted with DarkStarSword's shadertool.py:
// shadertool.py -i --fix-unreal-ps-halo --stereo-sampler-ps=s15 --only-autofixed CRC32_6B086532_0.txt
texldl r31, c220.z, s15
add r31.w, r0.z, -r31.y
mad r0.x, r31.w, r31.x, r0.x

    nrm r1.xyz, v2
    nrm_pp r2.xyz, v1
    cmp r0.w, vFace, c2.x, c2.y
    mul_pp r0.w, r0.w, c0.x
    mul r3.xy, r1.z, r0.w
    mul r3.z, r0.w, r3.y
    mad r1.xyz, r3, c2.zzww, -r1
    texld r3, v0, s1
    rcp r0.z, r0.z
    mul r0.xy, r0.z, r0
    mad r0.xy, r0, c1, c1.wzzw
    rcp r0.z, c14.x
    mad r4.xy, r0, r0.z, c13
    texld r4, r4, s2
    mov_pp r4.y, c2.y
    mad r0.z, c15.w, -r4.x, r4.y
    mul r0.z, r0.z, c16.x
    mad r5, r3.w, r0.z, c3.x
    texkill r5
    if b0
      texld r5, r0, s0
      mul_pp r0.xyz, r5, r5
      if b1
        dp3 r1.w, v3, v3
        rsq r1.w, r1.w
        rcp r1.w, r1.w
        add r1.w, -r1.w, c18.x
        mul_sat_pp r1.w, r1.w, c18.y
        mul_pp r1.w, r1.w, r1.w
        mad_pp r2.w, r5.w, r5.w, c2.x
        mad_pp r4.xzw, r1.w, r2.w, c2.y
      else
        mov_pp r4.xzw, c2.y
      endif
      mul_pp r0.xyz, r0, r4.xzww
    else
      mov_pp r0.xyz, c2.y
    endif
    add r4.xyz, r4.y, -c12
    mul_pp r3.xyz, r3, r4
    mad_pp r3.xyz, r3, c4.w, c4
    mul_sat_pp r0.w, r2.z, r0.w
    add r1.w, r0.w, c3.y
    dp3_sat_pp r1.x, r1, r2
    add r1.y, r1.x, c3.y
    pow_pp r2.x, r1.x, c3.z
    mul r2.yzw, r0.w, r3.xxyz
    cmp r1.xzw, r1.w, r2.yyzw, c2.z
    mul_pp r2.xyz, r2.x, c5
    cmp_pp r2.xyz, r1.y, r2, c2.z
    add_pp r1.xyz, r1.xzww, r2
    mul_pp r0.xyz, r0, r1
    mul oC0.xyz, r0, c17
    mov_pp oC0.w, c2.z

// approximately 68 instruction slots used (3 texture, 65 arithmetic)
