uniform float _Shininess;
uniform sampler2D _MainTex;
uniform sampler2D _LightTextureB0;
uniform samplerCube _LightTexture0;
uniform vec4 _LightColor0;
uniform sampler2D _GlossMap;
uniform vec4 _Color;
uniform sampler2D _BumpMap;
void main ()
{
  vec2 tmpvar_1;
  tmpvar_1 = gl_TexCoord[0].xy;
  vec3 tmpvar_2;
  tmpvar_2 = gl_TexCoord[3].xyz;
  vec4 c_3;
  vec4 normal_4;
  normal_4.xy = ((texture2D (_BumpMap, tmpvar_1).wy * 2.0) - 1.0);
  normal_4.z = sqrt(((1.0 - (normal_4.x * normal_4.x)) - (normal_4.y * normal_4.y)));
  vec3 tmpvar_5;
  tmpvar_5 = normalize(gl_TexCoord[1].xyz);
  float atten_6;
  atten_6 = (texture2D (_LightTextureB0, vec2(dot (tmpvar_2, tmpvar_2))).w * textureCube (_LightTexture0, tmpvar_2).w);
  vec4 c_7;
  float tmpvar_8;
  tmpvar_8 = (pow (max (0.0, dot (normal_4.xyz, normalize((tmpvar_5 + normalize(gl_TexCoord[2].xyz))))), (_Shininess * 128.0)) * texture2D (_GlossMap, tmpvar_1).w);
  c_7.xyz = (((((texture2D (_MainTex, tmpvar_1).xyz * gl_Color.xyz) * _LightColor0.xyz) * max (0.0, dot (normal_4.xyz, tmpvar_5))) + (_LightColor0.xyz * tmpvar_8)) * (atten_6 * 2.0));
  c_7.w = (((_LightColor0.w * tmpvar_8) * atten_6) * _Color.w);
  c_3.xyz = c_7.xyz;
  c_3.w = 0.0;
  gl_FragData[0] = c_3;
}

