varying highp vec3 xlv_TEXCOORD3; varying highp vec3 xlv_TEXCOORD2; varying highp vec4 xlv_TEXCOORD1; varying highp vec3 xlv_TEXCOORD0; uniform sampler2D LightMapLookup; uniform sampler2D LightMap; uniform sampler2D NormalMap1; uniform highp vec3 Lamp0Color; uniform highp vec4 LightBorder; uniform highp vec4 LightConfig3; uniform highp vec4 LightConfig2; uniform highp vec4 AmbientColor; uniform highp vec3 FogColor; uniform highp vec4 WaterColor; uniform highp vec4 CameraPosition; void main () { highp vec3 normal_1; highp vec4 nm1_2; lowp vec4 tmpvar_3; tmpvar_3 = texture2D (NormalMap1, xlv_TEXCOORD0.xy); nm1_2 = tmpvar_3; normal_1.z = nm1_2.z; normal_1.xy = ((2.0 * nm1_2.wy) - 1.0); normal_1.z = sqrt((1.001 - min (dot (normal_1.xy, normal_1.xy), 1.0))); highp vec3 tmpvar_4; tmpvar_4 = abs((xlv_TEXCOORD3 - LightConfig2.xyz)); highp vec3 t_5; t_5.x = float((tmpvar_4.x >= LightConfig3.x)); t_5.y = float((tmpvar_4.y >= LightConfig3.y)); t_5.z = float((tmpvar_4.z >= LightConfig3.z)); highp float tmpvar_6; tmpvar_6 = min (dot (t_5, vec3(1.0, 1.0, 1.0)), 1.0); highp vec4 s1_7; highp vec4 s0_8; highp vec4 offsets_9; lowp vec4 tmpvar_10; tmpvar_10 = texture2D (LightMapLookup, xlv_TEXCOORD3.xy); offsets_9 = tmpvar_10; highp vec2 tmpvar_11; tmpvar_11 = (xlv_TEXCOORD3.yz * 0.125); highp vec2 tmpvar_12; tmpvar_12 = (tmpvar_11 - (tmpvar_11 * tmpvar_6)); lowp vec4 tmpvar_13; highp vec2 P_14; P_14 = (tmpvar_12 + offsets_9.xy); tmpvar_13 = texture2D (LightMap, P_14); s0_8 = tmpvar_13; lowp vec4 tmpvar_15; highp vec2 P_16; P_16 = (tmpvar_12 + offsets_9.zw); tmpvar_15 = texture2D (LightMap, P_16); s1_7 = tmpvar_15; highp vec4 tmpvar_17; tmpvar_17 = mix (mix (s0_8, s1_7, vec4(fract((xlv_TEXCOORD3.x * 64.0)))), LightBorder, vec4(tmpvar_6)); highp vec4 tmpvar_18; tmpvar_18.w = 1.0; tmpvar_18.xyz = mix (FogColor, (mix ((WaterColor.xyz + (normal_1.z * 0.02)), vec3(0.6175, 0.8075, 0.8835), vec3(clamp (((-2.5 * abs(dot ((0.5 * (xlv_TEXCOORD2 + normal_1.xzy)), normalize((CameraPosition.xyz - xlv_TEXCOORD1.xyz))))) + 0.78), 0.0, 1.0))) * ((Lamp0Color * tmpvar_17.w) + (tmpvar_17.xyz + AmbientColor.xyz))), xlv_TEXCOORD0.zzz); gl_FragData[0] = tmpvar_18; }