refactor world button code
[fishladder.git] / fishladder_resources.h
index d5a9a6eaa566b86008a0ab82f171e39564988315..ddc1f00926e05f19549a32aed40f8dd6c55dc413 100644 (file)
@@ -361,7 +361,7 @@ SHADER_DEFINE( shader_tile_main,
        "uniform vec4 uOffset;" // Tile x/y, uv x/y
        "uniform mat3 uPv;"
        "uniform mat2 uSubTransform;"
-       //"uniform float uVisibility;"
+       "uniform float uVisibility;"
        ""
        "out vec4 aTexCoords;"
        "out vec2 aWorldCoords;"
@@ -376,10 +376,10 @@ SHADER_DEFINE( shader_tile_main,
        "void main()"
        "{"
                "vec2 hash_val = hash22(uOffset.xy);"
-               //"float scaling_factor = smoothstep( hash_val.x, hash_val.x+1.0, uVisibility );"
+               "float scaling_factor = smoothstep( hash_val.x, hash_val.x+1.0, uVisibility );"
 
                // Vertex transform
-               "vec2 subtransform = uSubTransform * (a_co-0.5) + 0.5;"
+               "vec2 subtransform = uSubTransform * (a_co-0.5) * scaling_factor + 0.5;"
                "vec3 worldpos = vec3( subtransform + uOffset.xy, 1.0 );"
                "gl_Position = vec4( uPv * worldpos, 1.0 );"
 
@@ -445,6 +445,7 @@ SHADER_DEFINE( shader_background,
        "uniform sampler2D uTexMain;"
        "uniform sampler2D uSamplerNoise;"
        "uniform float uVariance;"
+       "uniform float uVisibility;"
        ""
        "in vec2 aTexCoords;"
        ""
@@ -463,7 +464,7 @@ SHADER_DEFINE( shader_background,
                
                "ao_accum -= data_this_tile.r;"
                
-               "vec3 colour_main = mix( vec3( 0.369768, 0.3654, 0.42 ),vec3( 0.275, 0.388, 0.553 ), data_this_tile.g );"
+               "vec3 colour_main = mix( vec3( 0.369768, 0.3654, 0.42 ), vec3( 0.275, 0.388, 0.553 ), data_this_tile.g * uVisibility );"
                
                "vec2 square_coords = fract( aTexCoords * 64.0 );"
                "vec2 grid_coords = abs( square_coords - 0.5 );"
@@ -475,7 +476,7 @@ SHADER_DEFINE( shader_background,
                "FragColor = vec4( colour_main * edge_contrast + gridline * 0.02 * gridline_fadeout, 1.0 );"
        "}"
        ,
-       UNIFORMS({ "uPv", "uOffset", "uTexMain", "uVariance", "uSamplerNoise" })
+       UNIFORMS({ "uPv", "uOffset", "uTexMain", "uVariance", "uSamplerNoise", "uVisibility" })
 )
 
 SHADER_DEFINE( shader_wire,
@@ -656,7 +657,7 @@ struct cmp_level
        int serial_id;
        int is_tutorial;
 
-       v2i world_pos;
+       struct world_button btn;
 
        #ifdef VG_STEAM
        SteamLeaderboard_t steam_leaderboard;