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

