vg_tex2d tex_tiles_lab = { .path = "textures/tile_lab.qoi" };
vg_tex2d tex_ball_noise = { .path = "textures/bnoise.qoi" };
-vg_tex2d tex_monofur = { .path = "textures/ascii.qoi", .flags = VG_TEXTURE_NO_MIP };
vg_tex2d tex_unkown = { .path = "textures/unkown.qoi" };
vg_tex2d tex_buttons = { .path = "textures/buttons.qoi" };
vg_tex2d tex_sprites = { .path = "textures/autocombine.qoi" };
&tex_tiles_min,
&tex_tiles_lab,
&tex_ball_noise,
- &tex_monofur,
&tex_unkown,
&tex_buttons,
&tex_sprites
{
26, "cmp_p7", "PRINCIPLE 7", "Emitters",
._unlock = 27,
+ ._linked = 13,
.is_tutorial = 1
}
};
},
{
5, "cmp_b03", "RESTRUCTURE", "",
- ._unlock = 8
+ ._unlock = 8,
+ ._linked = 31
},
+ {
+ 31, "cmp_121", "1-2-1", "",
+ ._unlock = 8
+ },
{
7, "cmp_b05", "PATTERNS 1", "",
._unlock = 15,
},
{
20, "cmp_xor", "QUALIFICATION PROJECT", "",
- ._unlock = 25,
+ ._unlock = 26,
.achievement = "GRADUATE"
},
{
},
{
29, "cmp_routing2", "ROUTING PROBLEM 2", "Spaghetti!",
- ._linked = 30
+ ._linked = 30,
+ ._unlock = 32
+ },
+ {
+ 30, "cmp_exact5", "EXACTLY 5", "",
+ ._unlock = 32
},
{
- 30, "cmp_exact5", "EXACTLY 5", ""
+ 32, "cmp_3and2", "THREE AND FOUR", ""
}
};
static struct career_level_pack
{
struct cmp_level *pack;
+ const char *title;
int count;
v3f primary_colour;
{
{
.pack = cmp_levels_tutorials,
+ .title = "",
.count = vg_list_size( cmp_levels_tutorials ),
.primary_colour = { 0.204f, 0.345f, 0.553f },
.origin = { -5, -2 },
},
{
.pack = cmp_levels_basic,
+ .title = "\x8C\x8D"" Core",
.count = vg_list_size( cmp_levels_basic ),
.primary_colour = { 0.304f, 0.245f, 0.553f },
.origin = { -3, -2 },
},
{
.pack = cmp_levels_grad,
+ .title = "\x8C\x8E"" Challenge",
.count = vg_list_size( cmp_levels_grad ),
.primary_colour = { 0.553f, 0.345f, 0.204f },
.origin = { -5, 6 },
},
{
.pack = cmp_levels_computer,
+ .title = "\x8C\x8F"" 3 Bit computer\n\n (preview)",
.count = vg_list_size( cmp_levels_computer ),
.primary_colour = { 0.75f, 0.23f, 0.39f },
.origin = { -5, 8 },