//
// Generated by Microsoft (R) D3DX9 Shader Compiler 9.15.779.0000
//
// Parameters:
//
//   float g_MatMinFresnel;
//
//
// Registers:
//
//   Name            Reg   Size
//   --------------- ----- ----
//   g_MatMinFresnel c0       1
//
//
// Default values:
//
//   g_MatMinFresnel
//     c0   = { 0.1, 0, 0, 0 };
//
//
//   preshader
//    neg r0.w, c0.x
//    add c46.x, r0.w, (1)
//
// approximately 2 instructions used
//
// Generated by Microsoft (R) D3DX9 Shader Compiler 9.15.779.0000
//
// Parameters:
//
//   float g_AlphaValue;
//   float g_Color_HighlightPower;
//   bool g_EnableFog;
//   float2 g_FogClip;
//   float g_FresnelExpon;
//   
//   struct
//   {
//       float3 pos;
//       float3 color;
//       float4 atten;
//
//   } g_LightPoint[8];
//   
//   float4 g_MatEmissiveColor;
//   float g_MatMinFresnel;
//   float g_MatReflectionStrength;
//   float3x2 g_TexMatrix;
//   float4x4 g_mViewInverse;
//   float4x4 g_mWorld;
//   float4x4 g_mWorldIT;
//   float4x4 g_mWorldViewProjection;
//   int g_nNumLightPoint;
//
//
// Registers:
//
//   Name                    Reg   Size
//   ----------------------- ----- ----
//   g_EnableFog             b0       1
//   g_nNumLightPoint        i0       1
//   g_LightPoint            c0      24
//   g_mWorldViewProjection  c24      4
//   g_mWorld                c28      3
//   g_mWorldIT              c31      3
//   g_mViewInverse          c34      3
//   g_TexMatrix             c37      2
//   g_MatReflectionStrength c39      1
//   g_AlphaValue            c40      1
//   g_MatEmissiveColor      c41      1
//   g_FresnelExpon          c42      1
//   g_MatMinFresnel         c43      1
//   g_FogClip               c44      1
//   g_Color_HighlightPower  c45      1
//
//
// Default values:
//
//   g_EnableFog
//     b0   = false;
//
//   g_nNumLightPoint
//     i0   = { 0, 0, 1, 0 };
//
//   g_LightPoint
//     c0   = { 0, 0, 0, 0 };
//     c1   = { 0, 0, 0, 0 };
//     c2   = { 0, 0, 0, 0 };
//     c3   = { 0, 0, 0, 0 };
//     c4   = { 0, 0, 0, 0 };
//     c5   = { 0, 0, 0, 0 };
//     c6   = { 0, 0, 0, 0 };
//     c7   = { 0, 0, 0, 0 };
//     c8   = { 0, 0, 0, 0 };
//     c9   = { 0, 0, 0, 0 };
//     c10  = { 0, 0, 0, 0 };
//     c11  = { 0, 0, 0, 0 };
//     c12  = { 0, 0, 0, 0 };
//     c13  = { 0, 0, 0, 0 };
//     c14  = { 0, 0, 0, 0 };
//     c15  = { 0, 0, 0, 0 };
//     c16  = { 0, 0, 0, 0 };
//     c17  = { 0, 0, 0, 0 };
//     c18  = { 0, 0, 0, 0 };
//     c19  = { 0, 0, 0, 0 };
//     c20  = { 0, 0, 0, 0 };
//     c21  = { 0, 0, 0, 0 };
//     c22  = { 0, 0, 0, 0 };
//     c23  = { 0, 0, 0, 0 };
//
//   g_mWorldViewProjection
//     c24  = { 0, 0, 0, 0 };
//     c25  = { 0, 0, 0, 0 };
//     c26  = { 0, 0, 0, 0 };
//     c27  = { 0, 0, 0, 0 };
//
//   g_mWorld
//     c28  = { 0, 0, 0, 0 };
//     c29  = { 0, 0, 0, 0 };
//     c30  = { 0, 0, 0, 0 };
//
//   g_mWorldIT
//     c31  = { 0, 0, 0, 0 };
//     c32  = { 0, 0, 0, 0 };
//     c33  = { 0, 0, 0, 0 };
//
//   g_mViewInverse
//     c34  = { 0, 0, 0, 0 };
//     c35  = { 0, 0, 0, 0 };
//     c36  = { 0, 0, 0, 0 };
//
//   g_TexMatrix
//     c37  = { 1, 0, 0, 0 };
//     c38  = { 0, 1, 0, 0 };
//
//   g_MatReflectionStrength
//     c39  = { 1, 0, 0, 0 };
//
//   g_AlphaValue
//     c40  = { 1, 0, 0, 0 };
//
//   g_MatEmissiveColor
//     c41  = { 0, 0, 0, 0 };
//
//   g_FresnelExpon
//     c42  = { 2, 0, 0, 0 };
//
//   g_MatMinFresnel
//     c43  = { 0.1, 0, 0, 0 };
//
//   g_FogClip
//     c44  = { 1, 0, 0, 0 };
//
//   g_Color_HighlightPower
//     c45  = { 12, 0, 0, 0 };
//

    vs_3_0
    def c47, 1, 0, 3, 0
	def c200, 1.0, 90.0, 0.0625, 0.5
    dcl_position v0
    dcl_texcoord v1
    dcl_normal v2
    dcl_binormal v3
    dcl_tangent v4
	dcl_2d s0
    dcl_position o0
    dcl_color o1
    dcl_texcoord o2
    dcl_texcoord1 o3.xyz
    dcl_texcoord2 o4.xyz
    dcl_texcoord3 o5.xyz
    dcl_texcoord4 o6.xyz
    dcl_texcoord5 o7.xyz
    dcl_texcoord6 o8.xy
	
	mov r12.w, -c43.x
    add r12.x, r12.w, c47.x
	
    mad r2, v0.xyzx, c47.xxxy, c47.yyyx
    mad r5.xyz, v1.xyxw, c47.xxyw, c47.yyxw
    dp4 r4.z, r2, c30
    dp3 o2.y, r5, c38
    dp4 r4.x, r2, c28
    mad r0, v2.xyzx, c47.xxxy, c47.yyyx
    dp4 r4.y, r2, c29
    dp4 r3.z, r0, c33
    dp4 r3.x, r0, c31
    dp4 r3.y, r0, c32
    mov r0.xyz, c47.y
    mov r0.w, c47.y
    rep i0
      mul r1.w, r0.w, c47.z
      mova a0.w, r1.w
      add r6.xyz, -r4, c0[a0.w]
      dp3 r1.z, r6, r6
      rsq r1.w, r1.z
      mul r6.xyz, r6, r1.w
      mul r1.y, r1.z, r1.w
      mov r1.x, c47.x
      dp3_sat r3.w, r3, r6
      dp3 r1.w, c2[a0.w], r1
      rcp_sat r1.w, r1.w
      mul r1.xyz, r3.w, c1[a0.w]
      mad r0.xyz, r1, r1.w, r0
      add r0.w, r0.w, c47.x
    endrep
    add o1.xyz, r0, c41
    mad r1, v4.xyzx, c47.xxxy, c47.yyyx
    mad r0, v3.xyzx, c47.xxxy, c47.yyyx
    dp4 o5.z, r1, c33
    dp4 o6.z, r0, c33
    mov o4.xyz, r3
    dp4 r13.x, r2, c24
    dp4 r13.y, r2, c25
    dp4 r13.z, r2, c26
    dp4 r13.w, r2, c27
	
	texldl r11, c200.z, s0	
	mul r11.x, r11.x, r11.y//c200.x
	add r13.x, r13.x, r11.x
	mov o0, r13
	
    mov r2.y, c35.w
    mov r2.x, c34.w
    mov r2.z, c36.w
    dp3 o2.x, r5, c37
    add r4.xyz, -r4, r2
    if b0
      dp3 r2.w, r4, r4
      rsq r2.w, r2.w
      rcp r2.w, r2.w
      mad_sat r2.w, c44.y, -r2.w, c44.x
      mul o1.w, r2.w, c40.x
    else
      mov o1.w, c40.x
    endif
    nrm r2.xyz, r4
    dp3 r2.w, -r2, r3
    add r2.w, r2.w, r2.w
    mov o3.xyz, r2
    mad r4.xyz, r3, -r2.w, -r2
    abs o7.xyz, r4
    dp3_sat r2.z, r2, r3
    log r2.w, r2.z
    add r3.w, -r2.z, c47.x
    mul r2.z, r2.w, c45.x
    pow r2.w, r3.w, c42.x
    exp o8.y, r2.z
    mul r2.z, r2.w, c39.x
    mov r2.w, r12.x
    mad o8.x, r2.w, r2.z, c43.x
    dp4 o5.x, r1, c31
    dp4 o5.y, r1, c32
    dp4 o6.x, r0, c31
    dp4 o6.y, r0, c32
    mov o2.zw, v1