From ae365687964bb357d4f371f685c02731ce3d0e00 Mon Sep 17 00:00:00 2001 From: hgn Date: Wed, 22 Dec 2021 05:23:01 +0000 Subject: [PATCH] colourblind sets (dev version) --- fishladder.c | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/fishladder.c b/fishladder.c index 81c2b82..6c9b1c7 100644 --- a/fishladder.c +++ b/fishladder.c @@ -275,22 +275,36 @@ struct world world; // UTILITY // =========================================================================================================== +static int colour_set_id = 0; + static void colour_code_v3( char const cc, v3f target ) { - static v3f colour_sets[] = - { { 1.0f, 0.9f, 0.3f }, - { 0.2f, 0.9f, 0.14f }, - { 0.4f, 0.8f, 1.00f }, - { 0.882f, 0.204f, 0.922f } + static v3f colour_sets[][4] = + { + { { 1.0f, 0.9f, 0.3f }, // Yellow + { 0.4f, 0.8f, 1.00f }, // Blue + { 0.2f, 0.9f, 0.14f }, // Green + { 0.882f, 0.204f, 0.922f } // Pink + }, + { { 1.0f, 0.9f, 0.3f }, // Yellow + { 0.4f, 0.8f, 1.00f }, // Blue + { 0.85f, 0.85f, 0.85f }, // Weiss + { 0.2f, 0.2f, 0.2f } // Black/Gray + }, + { { 1.0f, 0.9f, 0.3f }, // Yellow + { 0.827f, 0.373f, 0.718f }, // Pink + { 0.0f, 0.353f, 0.71f }, // Blue + { 0.863f, 0.196f, 0.125f } // Red + }, }; if( cc >= 'a' && cc <= 'z' ) { int id = cc - 'a'; - if( id < vg_list_size( colour_sets ) ) + if( id < vg_list_size( colour_sets[0] ) ) { - v3_copy( colour_sets[ id ], target ); + v3_copy( colour_sets[colour_set_id][ id ], target ); return; } } @@ -3032,6 +3046,13 @@ void vg_start(void) .function = console_credits }); + vg_convar_push( (struct vg_convar){ + .name = "colours", + .data = &colour_set_id, + .data_type = k_convar_dtype_i32, + .opt_i32 = { .min = 0, .max = 2, .clamp = 1 } + }); + // Combined quad, long quad / empty circle / filled circle mesh { float combined_mesh[6*6 + 32*6*3] = { -- 2.25.1