chiark / gitweb /
Refactoring from James H: the highlight and lowlight colour setup
[sgt-puzzles.git] / pegs.c
diff --git a/pegs.c b/pegs.c
index 07091875d6c63f6661aeb29688509785fed8eebe..2a03902d4de6bacedce0e24bdc2185ea519e470c 100644 (file)
--- a/pegs.c
+++ b/pegs.c
@@ -845,28 +845,8 @@ static void game_set_size(game_drawstate *ds, game_params *params,
 static float *game_colours(frontend *fe, game_state *state, int *ncolours)
 {
     float *ret = snewn(3 * NCOLOURS, float);
-    int i;
-    float max;
-
-    frontend_default_colour(fe, &ret[COL_BACKGROUND * 3]);
 
-    /*
-     * Drop the background colour so that the highlight is
-     * noticeably brighter than it while still being under 1.
-     */
-    max = ret[COL_BACKGROUND*3];
-    for (i = 1; i < 3; i++)
-        if (ret[COL_BACKGROUND*3+i] > max)
-            max = ret[COL_BACKGROUND*3+i];
-    if (max * 1.2F > 1.0F) {
-        for (i = 0; i < 3; i++)
-            ret[COL_BACKGROUND*3+i] /= (max * 1.2F);
-    }
-
-    for (i = 0; i < 3; i++) {
-        ret[COL_HIGHLIGHT * 3 + i] = ret[COL_BACKGROUND * 3 + i] * 1.2F;
-        ret[COL_LOWLIGHT * 3 + i] = ret[COL_BACKGROUND * 3 + i] * 0.8F;
-    }
+    game_mkhighlight(fe, ret, COL_BACKGROUND, COL_HIGHLIGHT, COL_LOWLIGHT);
 
     ret[COL_PEG * 3 + 0] = 0.0F;
     ret[COL_PEG * 3 + 1] = 0.0F;