//
// Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
//
// Parameters:
//
//   float g_alpha_cutoff;
//   samplerCUBE g_ambient_cube;
//   float3 g_camera_position;
//   float4 g_depth_buffer_uvs;
//   sampler2D g_depth_sampler;
//   sampler2D g_dissolve_noise_sampler;
//   float g_dissolve_value;
//   samplerCUBE g_environment_sampler;
//   sampler2D g_foam_normal_sampler;
//   sampler2D g_foam_sampler;
//   float g_fog_depth;
//   float g_luminance_shift_id;
//   float g_reflectivity;
//   float g_refraction_bias;
//   sampler2D g_refraction_sampler;
//   float g_refraction_scale;
//   sampler2D g_scene_sampler;
//   float g_specular_level;
//   float g_specular_power;
//   sampler2D g_water_normal_sampler;
//   sampler2D g_water_surface_sampler;
//   float4 g_water_tint;
//
//
// Registers:
//
//   Name                     Reg   Size
//   ------------------------ ----- ----
//   g_camera_position        c0       1
//   g_reflectivity           c1       1
//   g_refraction_scale       c2       1
//   g_fog_depth              c3       1
//   g_water_tint             c4       1
//   g_specular_level         c5       1
//   g_specular_power         c6       1
//   g_refraction_bias        c7       1
//   g_depth_buffer_uvs       c8       1
//   g_dissolve_value         c9       1
//   g_alpha_cutoff           c10      1
//   g_luminance_shift_id     c11      1
//   g_ambient_cube           s0       1
//   g_depth_sampler          s1       1
//   g_scene_sampler          s2       1
//   g_water_surface_sampler  s3       1
//   g_water_normal_sampler   s4       1
//   g_foam_sampler           s5       1
//   g_foam_normal_sampler    s6       1
//   g_refraction_sampler     s7       1
//   g_environment_sampler    s8       1
//   g_dissolve_noise_sampler s9       1
//
//
// Default values:
//
//   g_camera_position
//     c0   = { 0, 0, 0, 0 };
//
//   g_reflectivity
//     c1   = { 0.8, 0, 0, 0 };
//
//   g_refraction_scale
//     c2   = { 0.01, 0, 0, 0 };
//
//   g_fog_depth
//     c3   = { 0.0001, 0, 0, 0 };
//
//   g_water_tint
//     c4   = { 0.1, 0.2, 0.1, 1 };
//
//   g_specular_level
//     c5   = { 0.7, 0, 0, 0 };
//
//   g_specular_power
//     c6   = { 200, 0, 0, 0 };
//
//   g_refraction_bias
//     c7   = { 0.2, 0, 0, 0 };
//
//   g_depth_buffer_uvs
//     c8   = { 0, 0, 0, 0 };
//
//   g_dissolve_value
//     c9   = { 0, 0, 0, 0 };
//
//   g_alpha_cutoff
//     c10  = { 0, 0, 0, 0 };
//
//   g_luminance_shift_id
//     c11  = { 0, 0, 0, 0 };
//

    //ps_2_x
	ps_3_0
    def c12, -0, 0, 0, 0
    def c13, 2, -1, 1, 0.5
    def c14, 1.5, 0.300000012, 0.800000012, 0.00999999978
	def c23, 0.5, 0, 0, 0
    //dcl v0.x
    //dcl t0
    //dcl t1
    //dcl t2
    //dcl_pp t3
    //dcl_pp t5.xyz
    //dcl_pp t6.xyz
    //dcl_pp t7.xyz
	
	dcl_color v0
	dcl_texcoord0 v1
    dcl_texcoord1 v2
	dcl_texcoord2 v3
	dcl_texcoord3_pp v4
	dcl_texcoord5_pp v5.xyz
	dcl_texcoord6_pp v6.xyz
	dcl_texcoord7_pp v7.xyz
	dcl vPos.xy
    dcl_cube s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3
    dcl_2d s4
    dcl_2d s5
    dcl_2d s6
    dcl_2d s7
    dcl_cube s8
    dcl_2d s9
    rcp_pp r0.w, v4.w
    mul_pp r0.xy, r0.w, v4
    mad_sat r10.xy, r0, c8, c8.zwzw
	
	mov r11.xy, vPos.xy
	rcp r11.z, c210.x
	rcp r11.w, c210.y
	mul r11.xy, r11.xy, r11.zw
	mul r11.zw, r11.zw, c23.xx
    add	r10.xy, r11.xy, r11.zw
	
    texld_pp r0, v1, s9
    texld r1, r10, s1
    add r0.w, r1.x, -v4.z
    mul r1.w, r0.w, c14.w
    mul r2.w, r1.w, r1.w
    add r0, -r0.z, c9.x
    mul_sat_pp r1.w, r1.w, r2.w
    add r2, r1.w, -c10.x
    mov r3.xy, v2.zwzw
    texld_pp r4, v2, s6
    texld_pp r3, r3, s7
    mul_pp r4.x, r4.w, r4.x
    mov_pp r4.z, r4.y
    mad_pp r5.xz, c13.x, r4, c13.y
    texld_pp r4, v1, s4
    mul_pp r4.x, r4.w, r4.x
    mov_pp r4.z, r4.y
    dp2add_sat r1.w, r5.xzzw, -r5.xzzw, c13.z
    mad_pp r4.xz, c13.x, r4, c13.y
    rsq r1.z, r1.w
    dp2add_sat r1.w, r4.xzzw, -r4.xzzw, c13.z
    rcp_pp r5.y, r1.z
    rsq r1.w, r1.w
    mul r5.xyz, r5, c13.wxww
    rcp_pp r4.y, r1.w
    mul_pp r3.x, r3.w, r3.x
    mad r4.xyz, r4, c13.wxww, r5
    dp3 r1.w, r4, r4
    mad_pp r3.xy, c13.x, r3, c13.y
    rsq r1.w, r1.w
    mad r9.xy, r3, c2.x, r10
    mul r3.xyz, r4, r1.w
    add r5.xyz, -v3, c0
    mul_pp r4.xyz, r3.z, v7.xzyw
    nrm_pp r8.xyz, r5
    mad_pp r4.xyz, r3.x, v6.xzyw, r4
    dp3 r1.w, -r8.xzyw, r3
    mad_pp r6.xyz, r3.y, v5.xzyw, r4
    add r1.z, r1.w, r1.w
    dp3_pp r1.w, r6, r6
    mad r7.xyz, r3, -r1.z, -r8.xzyw
    rsq_pp r5.w, r1.w
    mul_pp r5.xyz, r6, r5.w
    mov r3.xy, v1.zwzw
    texkill r0
    texld r0, r3, s5
    texld r3, r10, s2
    mov r1.yzw, r3.xxyz
    texld r4, r9, s1
    texld r3, r9, s2
    mov r4.yzw, r3.xxyz
    add r0.w, -r4.x, v4.z
    cmp r1, r0.w, r1, r4
    add r1.x, r1.x, -v4.z
    pow r0.w, r1.x, c14.x
    mul_sat r0.w, r0.w, c3.x
    texkill r2
    lrp r3.xyz, r0.w, c4, r1.yzww
    texld r2, v1, s3
    texld_pp r1, r7, s8
    dp3 r0.w, r5.xzyw, r8
    add_sat r0.w, r0.w, c7.x
    max r1.w, r0.w, c14.y
    lrp r4.xyz, c1.x, r1, r2
    min r0.w, r1.w, c14.z
    mad r5.w, r6.x, r5.w, c13.z
    lrp r1.xyz, r0.w, r3, r4
    lrp_pp r3.xyz, v0.x, r1, r0
    mov_pp r3.w, c5.x
    max_sat_pp r1, r3, c12.x
    mov_pp r0.xyz, r5
    texld_pp r2, r0, s0
    mul_pp r2.xyz, r3, r2
    mov_pp r2.w, c11.x
    mov_pp oC1, r1
    max_sat_pp r1, r2, c12.x
    cmp_pp r0.y, r0.y, r5.w, -r5.w
    mov_pp r0.x, v3.w
    mov_pp r0.w, c6.x
    mov_pp oC2, r1
    mov_pp oC0, r0

// approximately 90 instruction slots used (12 texture, 78 arithmetic)
 