"\n"
"#line 1 1 \n"
"// :D\n"
+"const float CLEARSKIES_LIGHT_DOT_MIN = 0.0;\n"
+"\n"
+"#line 12 0 \n"
+"#line 1 2 \n"
+"// :D\n"
"\n"
"in vec2 aUv;\n"
"in vec4 aNorm;\n"
" g_sunset_phase );\n"
"\n"
" vec3 sky_reflection = 0.5 * fresnel * reflect_colour;\n"
-" vec3 light_sun = max(0.0,dot(normal,g_sun_dir.xyz)*0.75+0.25) \n"
-" * g_sun_colour.rgb * g_day_phase;\n"
+" vec3 light_sun = max( CLEARSKIES_LIGHT_DOT_MIN, \n"
+" dot(normal,g_sun_dir.xyz)*0.75+0.25\n"
+" ) * g_sun_colour.rgb * g_day_phase;\n"
"\n"
" float scaled_shadow = max( shadow, 1.0 - max(g_sun_dir.y,0.0) );\n"
" vec3 ambient = mix( g_ambient_colour.rgb, g_sunset_ambient.rgb, \n"
" return world_compute_lighting( diffuse, normal, co, compute_board_shadow() );\n"
"}\n"
"\n"
-"#line 12 0 \n"
-"#line 1 2 \n"
+"#line 13 0 \n"
+"#line 1 3 \n"
"const float k_motion_lerp_amount = 0.01;\n"
"\n"
"#line 2 0 \n"
" oMotionVec = (vmotion1-vmotion0) * (1.0/k_motion_lerp_amount);\n"
"}\n"
"\n"
-"#line 13 0 \n"
+"#line 14 0 \n"
"\n"
"vec2 smin( float a, float b, float k ){\n"
" float h = max( k-abs(a-b), 0.0 )/k;\n"
" float dither = fract( vDither.g / 71.0 ) - 0.5;\n"
"\n"
" float dcam = (-8.0+distance( aCo, uCamera ))/4.0;\n"
-" if( min(aCo.y*0.5 + dither, dcam + dither) < 0.51 ) discard;\n"
+" float dy0 = aCo.y - uMapInfo.x;\n"
+" float dy1 = uMapInfo.y - aCo.y;\n"
+"\n"
+" if( min(min(dy0,dy1)*0.5, dcam) + dither < 0.51 ) \n"
+" discard;\n"
"\n"
" compute_motion_vectors();\n"
"\n"