//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 DiffuseOverrideParameter;
//   float2 DistanceFadeParameters;
//   float3 DistanceFieldParameters;
//   sampler2D LightAttenuationTexture;
//   float4 LightColorAndFalloffExponent;
//   float4 ScreenPositionScaleBias;
//   sampler2D ShadowTexture;
//   float4 SpecularOverrideParameter;
//   float4 UniformPixelVector_0;
//   float4 UniformPixelVector_1;
//   float4x4 ViewProjectionMatrix;
//   bool bEnableDistanceShadowFading;
//   bool bReceiveDynamicShadows;
//
//
// Registers:
//
//   Name                         Reg   Size
//   ---------------------------- ----- ----
//   bReceiveDynamicShadows       b0       1
//   bEnableDistanceShadowFading  b1       1
//   UniformPixelVector_0         c0       1
//   ScreenPositionScaleBias      c1       1
//   DiffuseOverrideParameter     c4       1
//   SpecularOverrideParameter    c5       1
//   ViewProjectionMatrix         c8       4
//   UniformPixelVector_1         c12      1
//   LightColorAndFalloffExponent c13      1
//   DistanceFieldParameters      c14      1
//   DistanceFadeParameters       c15      1
//   LightAttenuationTexture      s0       1
//   ShadowTexture                s1       1
//

    ps_3_0
    def c2, 0.300000012, 0.589999974, 0.109999999, 15
    def c3, 0, 2, 1, -9.99999997e-007
    dcl_color v0.xyz
    dcl_color1 v1
    dcl_texcoord2 v2.xy
    dcl_texcoord4_pp v3.xyz
    dcl_texcoord6 v4.xyz
    dcl_texcoord7 v5
    dcl_2d s0
    dcl_2d s1

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

    nrm_pp r0.xyz, v1
    nrm_pp r1.xyz, v0
    mul_pp r0.y, r0.y, r1.x
    mad_pp r0.x, r0.x, r1.y, -r0.y
    mul r0.x, r0.x, v1.w
    nrm r2.xyz, v4
    nrm_pp r3.xyz, v3
    mad r1.xyw, r2.z, c3.xxzy, -r2.xyzz
    texld_pp r2, v2, s1
    add r0.y, r2.x, c14.x
    mul_sat_pp r0.y, r0.y, c14.y
    log r0.y, r0.y
    mul r0.y, r0.y, c14.z
    exp_pp r2.xyz, r0.y
    if b0
      mul r4.xyz, c9.xyww, v5.y
      mad r4.xyz, c8.xyww, v5.x, r4
      mad r4.xyz, c10.xyww, v5.z, r4
      mad r4.xyz, c11.xyww, v5.w, r4

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

      rcp r0.y, r4.z
      mul r0.yw, r0.y, r4.xxzy
      mad r0.yw, r0, c1.xxzy, c1.xwzz
      texld r4, r0.ywzw, s0
      mul_pp r4.xyz, r4, r4
      if b1
        dp3 r0.y, v5, v5
        rsq r0.y, r0.y
        rcp r0.y, r0.y
        add r0.y, -r0.y, c15.x
        mul_sat_pp r0.y, r0.y, c15.y
        mul_pp r0.y, r0.y, r0.y
        mad_pp r0.w, r4.w, r4.w, -r2.z
        mad_pp r5.xyz, r0.y, r0.w, r2.z
      else
        mov_pp r5.xyz, r2.z
      endif
      mul_pp r2.xyz, r4, r5
    endif
    mov_pp r4.z, c3.z
    add r4.xyz, r4.z, -c0
    abs r5.x, r1.z
    abs r5.yz, r0.xxzw
    dp3 r0.x, r5, c2
    mul r0.xyz, r0.x, c12
    mul_pp r0.xyz, r4, r0
    mad_pp r0.xyz, r0, c4.w, c4
    mov_sat_pp r0.w, r3.z
    add r1.z, r0.w, c3.w
    cmp_pp r0.w, r1.z, r0.w, c3.x
    dp3_sat_pp r1.x, r1.xyww, r3
    add r1.y, r1.x, c3.w
    pow_pp r2.w, r1.x, c2.w
    mul_pp r1.xzw, r2.w, c5.xyyz
    cmp_pp r1.xyz, r1.y, r1.xzww, c3.x
    mad_pp r0.xyz, r0, r0.w, r1
    mul_pp r0.xyz, r2, r0
    mul oC0.xyz, r0, c13
    mov oC0.w, c3.x

// approximately 72 instruction slots used (2 texture, 70 arithmetic)
