// halo in cockpit frame when in cloud
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 g_vKSettings;
//
//
// Registers:
//
//   Name         Reg   Size
//   ------------ ----- ----
//   g_vKSettings c0       1
//
//
// Default values:
//
//   g_vKSettings
//     c0   = { 0, 0, 0, 0 };
//

    // preshader
    // add r0.x, c0.x, (-0.5)
    // cmp ob0.x, r0.x, (0), (1)

// approximately 2 instructions used
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   sampler2D AlphaSampler;
//   float4 BumpStrenght;
//   float4 ControlData;
//   sampler2D DPattern0Sampler;
//   sampler2D DPattern1Sampler;
//   sampler2D DPattern2Sampler;
//   sampler2D DamageSampler;
//   sampler2D DiffuseSampler;
//   sampler2D NormalSampler;
//   float4x4 g_mPrevObjViewProj;
//   float4x4 g_mView;
//   float4x4 g_mViewProj;
//   float4 g_vKSettings;
//
//
// Registers:
//
//   Name               Reg   Size
//   ------------------ ----- ----
//   g_mPrevObjViewProj c0       4
//   g_mViewProj        c4       4
//   g_mView            c8       3
//   g_vKSettings       c11      1
//   ControlData        c12      1
//   BumpStrenght       c13      1
//   DPattern0Sampler   s0       1
//   DPattern1Sampler   s1       1
//   DPattern2Sampler   s2       1
//   DamageSampler      s3       1
//   DiffuseSampler     s4       1
//   NormalSampler      s5       1
//   AlphaSampler       s6       1
//
//
// Default values:
//
//   g_mPrevObjViewProj
//     c0   = { 0, 0, 0, 0 };
//     c1   = { 0, 0, 0, 0 };
//     c2   = { 0, 0, 0, 0 };
//     c3   = { 0, 0, 0, 0 };
//
//   g_mViewProj
//     c4   = { 0, 0, 0, 0 };
//     c5   = { 0, 0, 0, 0 };
//     c6   = { 0, 0, 0, 0 };
//     c7   = { 0, 0, 0, 0 };
//
//   g_mView
//     c8   = { 0, 0, 0, 0 };
//     c9   = { 0, 0, 0, 0 };
//     c10  = { 0, 0, 0, 0 };
//
//   g_vKSettings
//     c11  = { 0, 0, 0, 0 };
//
//   ControlData
//     c12  = { 0, 0, 0, 0 };
//
//   BumpStrenght
//     c13  = { 1, 0, 0, 0 };
//

    ps_3_0
    def c14, 0, 1, 0.5, -2
    def c15, 0, 1, 0.330000013, 0.660000026
    def c16, 0.600000024, 0.300000012, 0, 0
    def c17, 0.25, 0.5, 0.75, -1
    dcl_texcoord v0.xy
    dcl_texcoord1 v1.xyz
    dcl_texcoord2 v2
    dcl_texcoord3 v3
    dcl_texcoord4 v4
    dcl_texcoord7 v5.xyz
    dcl_texcoord8 v6.w
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3
    dcl_2d s4
    dcl_2d s5
    dcl_2d s6
    if_ge v1.z, c17.x
      texld r0, v0, s3
      if_ge v1.z, c17.y
        max r1.x, r0.x, r0.y
        mov r0.x, r1.x
      endif
      if_ge v1.z, c17.z
        max r1.x, r0.x, r0.z
        mov r0.x, r1.x
      endif
      add r0.y, -r0.x, c17.z
      cmp r0.y, r0.y, c15.x, c15.y
      if_lt c17.z, r0.x
        mov r0.z, c17.w
        mov r1.x, c15.x
      else
        mov r0.z, c15.x
        if_lt r0.w, c15.z
          texld r2, v1, s0
          mov r1.x, r2.w
        else
          if_lt c15.w, r0.w
            texld r2, v1, s2
            mov r1.x, r2.w
          else
            texld r2, v1, s1
            mov r1.x, r2.w
          endif
        endif
        add r1.z, r0.x, r0.x
        min r0.x, r1.z, -c17.w
      endif
    else
      mov r1.x, c15.x
      mov r0.xyz, c15.x
    endif
    if_ne r0.y, -r0.y
      mov r0.x, r0.z
    endif
    mov r1.y, c17.y
    texld r1, r1.yxzw, s6
    texld r2, v0, s4
    mad r0.yz, r2.w, c14.xxyw, c14.xzxw
    texld r2, r0.yzzw, s6
    add r0.y, r0.x, c17.y
    texld r3, v0, s5
    mad r1.xzw, r3.xyyz, -c14.w, -c14.y
    mul r1.xz, r1, c13.x
    dp3 r3.z, v4, r1.xzww
    dp3 r3.x, v2, r1.xzww
    dp3 r3.y, v3, r1.xzww
    nrm r4.xyz, r3
    dp3 r3.x, r4, c8
    dp3 r3.y, r4, c9
    dp3 r3.z, r4, c10
    mad r5.xyz, r3, c17.y, c17.y
    if_lt c16.x, r2.z
      nrm r3.xyz, v5
      dp3 r0.z, r4, r3
      mad r0.w, r1.y, r3.w, -r2.y
      mad r0.x, r0.x, r0.w, r2.y
      mov r0.w, c17.w
      mad r0.w, r0.z, -c12.z, -r0.w
      mul r0.z, r0.z, c12.z
      cmp r0.z, r0.z, r0.w, -c17.w
      mul r0.z, r0.z, r0.z
      mul r0.z, r0.z, c12.y
      mul r0.x, r0.x, r0.z
      mad r5.w, r0.x, c17.y, c17.y
    else
      mul r5.w, r2.z, c17.y
    endif
    if b0
      mov r0.xz, c15.x
    else
      mov r1.y, v3.w
      mov r1.z, v4.w
      mad r1.xw, v2.w, c15.yyzx, c15.xyzy
      dp4 r2.x, r1, c3
      rcp r2.x, r2.x
      dp4 r3.x, r1, c0
      dp4 r3.y, r1, c1
      mul r2.xy, r2.x, r3
      dp4 r2.z, r1, c7
      rcp r2.z, r2.z
      dp4 r3.x, r1, c4
      dp4 r3.y, r1, c5
      mad r0.xw, r3.xyzy, r2.z, -r2.xyzy
      mul r0.z, -r0.w, c11.y
      dp2add r0.w, r0.xzzw, r0.xzzw, c15.x
      rsq r0.w, r0.w
      rcp r1.x, r0.w
      if_lt c16.y, r1.x
        mul r0.w, r0.w, c16.y
        mul r0.xz, r0.w, r0
      endif
    endif
    cmp oC0, r0.y, r5, c15.x
    mul r1, c15.yxxx, v6.w
    cmp oC1, r0.y, r1, c15.x
    cmp oC2.xy, r0.y, r0.xzzw, c15.x
    mov oC2.zw, c15.x
	
// desactivate oC0 regarding value of c221.z (const3)
mov r5.z, c221.z
if_ne r5.z, c15.x
mov oC0.xyzw, c15.xxxx
endif	
