uniform vec4 _MainTex_ST;
uniform vec4 _ProjectionParams;
uniform vec4 _Scale;
uniform float _SquashAmount;
uniform vec4 _SquashPlaneNormal;
uniform mat4 _TerrainEngineBendTree;
varying vec4 xlv_FOG;
void main ()
{
  vec4 pos_1;
  pos_1.w = gl_Vertex.w;
  pos_1.xyz = (gl_Vertex.xyz * _Scale.xyz);
  vec4 tmpvar_2;
  tmpvar_2.w = 0.0;
  tmpvar_2.xyz = pos_1.xyz;
  pos_1.xyz = mix (pos_1.xyz, (_TerrainEngineBendTree * tmpvar_2).xyz, gl_Color.www);
  vec3 tmpvar_3;
  tmpvar_3.xz = vec2(0.0, 0.0);
  tmpvar_3.y = _SquashPlaneNormal.w;
  vec4 tmpvar_4;
  tmpvar_4.w = 1.0;
  tmpvar_4.xyz = mix ((pos_1.xyz + (
    dot (_SquashPlaneNormal.xyz, (tmpvar_3 - pos_1.xyz))
   * _SquashPlaneNormal.xyz)), pos_1.xyz, vec3(_SquashAmount));
  pos_1 = tmpvar_4;
  vec4 pos_5;
  pos_5 = (gl_ModelViewProjectionMatrix * tmpvar_4);
  vec4 o_6;
  o_6 = (pos_5 * 0.5);
  vec2 tmpvar_7;
  tmpvar_7.x = o_6.x;
  tmpvar_7.y = (o_6.y * _ProjectionParams.x);
  o_6.xy = (tmpvar_7 + o_6.w);
  o_6.zw = pos_5.zw;
  gl_Position = pos_5;
  vec4 tmpvar_8;
  tmpvar_8.yzw = vec3(0.0, 0.0, 0.0);
  tmpvar_8.x = pos_5.z;
  xlv_FOG = tmpvar_8;
  vec4 tmpvar_9;
  tmpvar_9.zw = vec2(0.0, 0.0);
  tmpvar_9.xy = ((gl_MultiTexCoord0.xy * _MainTex_ST.xy) + _MainTex_ST.zw);
  gl_TexCoord[0] = tmpvar_9;
  gl_TexCoord[1] = o_6;
}


// stats: 19 alu 0 tex 0 flow
// inputs: 3
//  #0: gl_MultiTexCoord0 (high float) 4x1 [-1] loc 8
//  #1: gl_Color (high float) 4x1 [-1] loc 3
//  #2: gl_Vertex (high float) 4x1 [-1] loc 0
// uniforms: 7 (total size: 0)
//  #0: gl_ModelViewProjectionMatrix (high float) 4x4 [-1]
//  #1: _MainTex_ST (high float) 4x1 [-1]
//  #2: _ProjectionParams (high float) 4x1 [-1]
//  #3: _Scale (high float) 4x1 [-1]
//  #4: _SquashAmount (high float) 1x1 [-1]
//  #5: _SquashPlaneNormal (high float) 4x1 [-1]
//  #6: _TerrainEngineBendTree (high float) 4x4 [-1]
