"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;"
"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 );"
"uniform sampler2D uTexMain;"
"uniform sampler2D uSamplerNoise;"
"uniform float uVariance;"
+ "uniform float uVisibility;"
""
"in vec2 aTexCoords;"
""
"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 );"
"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,
int serial_id;
int is_tutorial;
- v2i world_pos;
+ struct world_button btn;
#ifdef VG_STEAM
SteamLeaderboard_t steam_leaderboard;
.map_name = "cmp_grad",
.description = "",
- ._linked = 22
+ ._linked = 22,
+ ._unlock = 23
},
// r2 GM
{
.serial_id = 22,
.title = "SECRET CODE",
.map_name = "cmp_secret",
+ .description = "",
+
+ ._unlock = 23
+ }
+};
+
+static struct cmp_level cmp_levels_computer[] =
+{
+ {
+ .serial_id = 23,
+ .title = "3 BIT BINARY",
+ .map_name = "cmp_binary",
+ .description = "",
+
+ ._unlock = 24
+ },
+ {
+ .serial_id = 24,
+ .title = "3 BIT ADDITION",
+ .map_name = "cmp_add3b",
.description = ""
}
};
-#define NUM_CAMPAIGN_LEVELS (vg_list_size( cmp_levels_tutorials ) + vg_list_size( cmp_levels_basic ) + vg_list_size( cmp_levels_grad ))
+#define NUM_CAMPAIGN_LEVELS (vg_list_size( cmp_levels_tutorials ) + vg_list_size( cmp_levels_basic ) + vg_list_size( cmp_levels_grad ) + vg_list_size( cmp_levels_computer ) )
static struct career_level_pack
{
.count = vg_list_size( cmp_levels_basic ),
.primary_colour = { 0.304f, 0.245f, 0.553f },
.origin = { -3, 0 },
- .dims = { 3, 6 }
+ .dims = { 3, 5 }
},
{
.pack = cmp_levels_grad,
.count = vg_list_size( cmp_levels_grad ),
.primary_colour = { 0.553f, 0.345f, 0.204f },
- .origin = { -5, 7 },
+ .origin = { -5, 6 },
.dims = { 4, 1 }
+ },
+ {
+ .pack = cmp_levels_computer,
+ .count = vg_list_size( cmp_levels_computer ),
+ .primary_colour = { 0.75f, 0.23f, 0.39f },
+ .origin = { -5, 8 },
+ .dims = { 5, 1 }
}
};