uniform float _AO;
uniform vec4 _Color;
uniform vec4 _Scale;
uniform float _SquashAmount;
uniform vec4 _SquashPlaneNormal;
uniform mat4 _TerrainEngineBendTree;
uniform vec4 _TerrainTreeLightColors[4];
uniform vec3 _TerrainTreeLightDirections[4];
varying vec4 xlv_FOG;
void main ()
{
  vec4 lightColor_1;
  vec4 lightDir_2;
  vec4 tmpvar_3;
  vec4 tmpvar_4;
  vec4 pos_5;
  pos_5.w = gl_Vertex.w;
  pos_5.xyz = (gl_Vertex.xyz * _Scale.xyz);
  vec4 tmpvar_6;
  tmpvar_6.w = 0.0;
  tmpvar_6.xyz = pos_5.xyz;
  pos_5.xyz = mix (pos_5.xyz, (_TerrainEngineBendTree * tmpvar_6).xyz, gl_Color.www);
  vec3 tmpvar_7;
  tmpvar_7.xz = vec2(0.0, 0.0);
  tmpvar_7.y = _SquashPlaneNormal.w;
  vec4 tmpvar_8;
  tmpvar_8.w = 1.0;
  tmpvar_8.xyz = mix ((pos_5.xyz + (
    dot (_SquashPlaneNormal.xyz, (tmpvar_7 - pos_5.xyz))
   * _SquashPlaneNormal.xyz)), pos_5.xyz, vec3(_SquashAmount));
  pos_5 = tmpvar_8;
  tmpvar_3 = (gl_ModelViewProjectionMatrix * tmpvar_8);
  lightDir_2.w = _AO;
  lightColor_1 = gl_LightModel.ambient;
  lightDir_2.xyz = _TerrainTreeLightDirections[0];
  lightColor_1 = (lightColor_1 + (_TerrainTreeLightColors[0] * max (0.0, 
    dot (lightDir_2.xyz, gl_Normal)
  )));
  lightDir_2.xyz = _TerrainTreeLightDirections[1];
  lightColor_1 = (lightColor_1 + (_TerrainTreeLightColors[1] * max (0.0, 
    dot (lightDir_2.xyz, gl_Normal)
  )));
  lightDir_2.xyz = _TerrainTreeLightDirections[2];
  lightColor_1 = (lightColor_1 + (_TerrainTreeLightColors[2] * max (0.0, 
    dot (lightDir_2.xyz, gl_Normal)
  )));
  lightDir_2.xyz = _TerrainTreeLightDirections[3];
  lightColor_1.xyz = (lightColor_1 + (_TerrainTreeLightColors[3] * max (0.0, 
    dot (lightDir_2.xyz, gl_Normal)
  ))).xyz;
  lightColor_1.w = 1.0;
  tmpvar_4.xyz = (lightColor_1 * _Color).xyz;
  tmpvar_4.w = 1.0;
  gl_Position = tmpvar_3;
  vec4 tmpvar_9;
  tmpvar_9.yzw = vec3(0.0, 0.0, 0.0);
  tmpvar_9.x = tmpvar_3.z;
  xlv_FOG = tmpvar_9;
  gl_TexCoord[0] = gl_MultiTexCoord0;
  gl_FrontColor = tmpvar_4;
}


// stats: 32 alu 0 tex 0 flow
// inputs: 4
//  #0: gl_MultiTexCoord0 (high float) 4x1 [-1] loc 8
//  #1: gl_Color (high float) 4x1 [-1] loc 3
//  #2: gl_Normal (high float) 3x1 [-1] loc 2
//  #3: gl_Vertex (high float) 4x1 [-1] loc 0
// uniforms: 10 (total size: 0)
//  #0: gl_LightModel (high other) 0x0 [-1]
//  #1: gl_ModelViewProjectionMatrix (high float) 4x4 [-1]
//  #2: _AO (high float) 1x1 [-1]
//  #3: _Color (high float) 4x1 [-1]
//  #4: _Scale (high float) 4x1 [-1]
//  #5: _SquashAmount (high float) 1x1 [-1]
//  #6: _SquashPlaneNormal (high float) 4x1 [-1]
//  #7: _TerrainEngineBendTree (high float) 4x4 [-1]
//  #8: _TerrainTreeLightColors (high float) 4x1 [4]
//  #9: _TerrainTreeLightDirections (high float) 3x1 [4]