uniform sampler2D _TranslucencyMap; uniform vec4 _TranslucencyColor; uniform float _Shininess; uniform sampler2D _MainTex; uniform sampler2D _LightTextureB0; uniform samplerCube _LightTexture0; uniform vec4 _LightColor0; uniform sampler2D _GlossMap; uniform float _Cutoff; 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 tmpvar_4; tmpvar_4 = texture2D (_MainTex, tmpvar_1); float tmpvar_5; tmpvar_5 = (tmpvar_4.w * gl_Color.w); vec4 normal_6; normal_6.xy = ((texture2D (_BumpMap, tmpvar_1).wy * 2.0) - 1.0); normal_6.z = sqrt(((1.0 - (normal_6.x * normal_6.x)) - (normal_6.y * normal_6.y))); float x_7; x_7 = (tmpvar_5 - _Cutoff); if ((x_7 < 0.0)) { discard; }; vec3 tmpvar_8; tmpvar_8 = normalize(gl_TexCoord[1].xyz); vec4 c_9; float tmpvar_10; tmpvar_10 = dot (normal_6.xyz, tmpvar_8); float tmpvar_11; tmpvar_11 = max (0.0, -(tmpvar_10)); c_9.xyz = (((((tmpvar_4.xyz * gl_Color.xyz) * (max (0.0, ((tmpvar_10 * 0.5) + 0.5)) + (((texture2D (_TranslucencyMap, tmpvar_1).xyz * _TranslucencyColor.xyz) * tmpvar_11) * 2.0))) + ((pow (max (0.0, dot (normal_6.xyz, normalize((tmpvar_8 + normalize(gl_TexCoord[2].xyz))))), (_Shininess * 128.0)) * texture2D (_GlossMap, tmpvar_1).w) * (1.0 - clamp (ceil(tmpvar_11), 0.0, 1.0)))) * _LightColor0.xyz) * ((texture2D (_LightTextureB0, vec2(dot (tmpvar_2, tmpvar_2))).w * textureCube (_LightTexture0, tmpvar_2).w) * 2.0)); c_3.xyz = c_9.xyz; c_3.w = tmpvar_5; gl_FragData[0] = c_3; }