//CGVER3.4
//
// Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.2904
//
//   fxc /T vs_2_a /Zpr /DCGC=0 /Fc $$out.cg $$in.cg
//
//
// Parameters:
//
//   float4 $CameraPos;
//   float3 $Fog;
//   float4 $LightPos;
//   row_major float4x4 $ModelViewProj;
//   float4 $NoisePos;
//   float3 $Normal;
//   float3 $Tangent;
//   float4 $TexGenRipple0;
//   float4 $TexGenRipple1;
//   float4 $TexShiftRipple;
//   float4 $WaterLevel;
//   float4 $g_VSCONST_0_025_05_1;
//   float4 $pg[66];
//
//
// Registers:
//
//   Name                  Reg   Size
//   --------------------- ----- ----
//   $ModelViewProj        c0       4
//   $LightPos             c4       1
//   $CameraPos            c5       1
//   $NoisePos             c6       1
//   $TexShiftRipple       c7       1
//   $TexGenRipple0        c8       1
//   $TexGenRipple1        c9       1
//   $Normal               c10      1
//   $Tangent              c11      1
//   $WaterLevel           c12      1
//   $g_VSCONST_0_025_05_1 c28      1
//   $Fog                  c29      1
//   $pg                   c30     66
//

    vs_2_x
    def c13, 0.03125, 32, -1, 0
    def c14, 2, 3, 0.0833333358, 1
    def c15, 0.25, 0, 0, 0
    dcl_position v0
    dcl_color v1
    add r1.xy, v0, c6
    mul r0.xy, r1, c13.x
    frc r0.xy, r0
    mul r0.w, r0.x, c13.y
    frc r0.w, r0.w
    mad r0.w, r0.x, c13.y, -r0.w
    mova a0.w, r0.w
    mov r2.x, c30[a0.w].w
    mov r2.y, c31[a0.w].w
    mad r2.xy, r0.y, c13.y, r2
    frc r0.xy, r2
    frc r1.xy, r1
    add r0.xy, r2, -r0
    mova a0.xy, r0
    add r0.xy, r1, c13.z
    mul r0.xy, r0, c31[a0.y]
    add r2.y, r0.y, r0.x
    mul r3.xy, r1, c30[a0.x]
    add r0, r1.xyxy, c13.zwwz
    add r3.x, r3.y, r3.x
    mul r0.xy, r0, c30[a0.y]
    mul r4.xy, r0.zwzw, c31[a0.x]
    add r3.y, r0.y, r0.x
    mul r0.xy, r1, r1
    mad r1.xy, c14.x, -r1, c14.y
    add r2.x, r4.y, r4.x
    mul r0.xy, r0, r1
    lrp r1.xy, r0.y, r2, r3
    lrp r2.w, r0.x, r1.y, r1.x
    mov r0.x, c6.w
    mad r0.z, r2.w, r0.x, c12.x
    mov r0.xyw, v0
    dp4 oPos.x, c0, r0
    dp4 oPos.y, c1, r0
    dp4 r1.x, r0, c8
    dp4 r1.y, r0, c9
    add oT0.xy, r1, c7
    add r2.xyz, -r0, c4
    dp3 r3.x, c11, r2
    mov r1.xyz, c11
    mul r4.xyz, r1.zxyw, c10.yzxw
    dp3 r3.z, c10, r2
    mad r1.xyz, r1.yzxw, c10.zxyw, -r4
    dp3 r3.y, r1, r2
    add r2.xyz, -r0, c5
    mul oT1.xyz, r3, c4.w
    dp3 r1.y, r1, r2
    dp3 r1.x, c11, r2
    abs r1.w, r2.z
    dp3 r1.z, c10, r2
    mul r1.w, r1.w, c14.z
    mul oT2.xyz, r1, c5.w
    min r1.w, r1.w, c14.w
    add r1.z, -r1.w, c14.w
    add r1.w, v1.w, c15.x
    mul oD0.w, r1.z, r1.w
    dp4 r1.z, c2, r0
    dp4 r1.w, c3, r0
    mad r0.w, c29.x, -r1.z, c29.y
    mov oPos.zw, r1
    max r0.w, r0.w, c28.x
    min oFog, r0.w, c28.w
    mov oT1.w, c13.w
    mov oT2.w, c13.w
    mov oD0.xyz, v1

// approximately 67 instruction slots used
