diff options
| author | Kevin Lyles <kevinlyles@gmail.com> | 2015-06-08 16:42:31 -0500 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2015-06-10 21:58:59 +0100 |
| commit | ecbf5f627f8f6bcbf535ebd15ce25ae214471faa (patch) | |
| tree | 78e32d680bbb8b81ab0d1db11b59769d0b6c1656 /magnets.c | |
| parent | 92635a2f9d9f747e5ebb2fd8aeea73f44c14d712 (diff) | |
| download | puzzles-ecbf5f627f8f6bcbf535ebd15ce25ae214471faa.zip puzzles-ecbf5f627f8f6bcbf535ebd15ce25ae214471faa.tar.gz puzzles-ecbf5f627f8f6bcbf535ebd15ce25ae214471faa.tar.bz2 puzzles-ecbf5f627f8f6bcbf535ebd15ce25ae214471faa.tar.xz | |
Removed an extra layer of complexity for count colors
Diffstat (limited to '')
| -rw-r--r-- | magnets.c | 25 |
1 files changed, 9 insertions, 16 deletions
@@ -1959,7 +1959,7 @@ static void game_free_drawstate(drawing *dr, game_drawstate *ds) sfree(ds); } -static void draw_num_col(drawing *dr, game_drawstate *ds, int rowcol, int which, +static void draw_num(drawing *dr, game_drawstate *ds, int rowcol, int which, int idx, int colbg, int col, int num) { char buf[32]; @@ -1987,13 +1987,6 @@ static void draw_num_col(drawing *dr, game_drawstate *ds, int rowcol, int which, draw_update(dr, cx, cy, TILE_SIZE, TILE_SIZE); } -static void draw_num(drawing *dr, game_drawstate *ds, int rowcol, int which, - int idx, unsigned long c, int num) -{ - draw_num_col(dr, ds, rowcol, which, idx, COL_BACKGROUND, - (c & DS_ERROR) ? COL_ERROR : COL_TEXT, num); -} - static void draw_sym(drawing *dr, game_drawstate *ds, int x, int y, int which, int col) { int cx = COORD(x), cy = COORD(y); @@ -2131,17 +2124,17 @@ static void draw_tile(drawing *dr, game_drawstate *ds, int *dominoes, draw_update(dr, cx, cy, TILE_SIZE, TILE_SIZE); } -static unsigned long get_count_color(const game_state *state, int rowcol, - int which, int index, int target) +static int get_count_color(const game_state *state, int rowcol, int which, + int index, int target) { int count = count_rowcol(state, index, rowcol, which); if ((count > target) || (count < target && !count_rowcol(state, index, rowcol, -1))) { - return DS_ERROR; + return COL_ERROR; } - return 0; + return COL_TEXT; } static void game_redraw(drawing *dr, game_drawstate *ds, @@ -2206,7 +2199,7 @@ static void game_redraw(drawing *dr, game_drawstate *ds, int color = get_count_color(state, COLUMN, which, i, target); if (color != ds->colwhat[index] || !ds->started) { - draw_num(dr, ds, COLUMN, which, i, color, target); + draw_num(dr, ds, COLUMN, which, i, COL_BACKGROUND, color, target); ds->colwhat[index] = color; } } @@ -2216,7 +2209,7 @@ static void game_redraw(drawing *dr, game_drawstate *ds, int color = get_count_color(state, ROW, which, i, target); if (color != ds->rowwhat[index] || !ds->started) { - draw_num(dr, ds, ROW, which, i, color, target); + draw_num(dr, ds, ROW, which, i, COL_BACKGROUND, color, target); ds->rowwhat[index] = color; } } @@ -2282,11 +2275,11 @@ static void game_print(drawing *dr, const game_state *state, int tilesize) draw_sym(dr, ds, state->w, state->h, NEGATIVE, ink); for (which = POSITIVE, j = 0; j < 2; which = OPPOSITE(which), j++) { for (i = 0; i < w; i++) { - draw_num_col(dr, ds, COLUMN, which, i, paper, ink, + draw_num(dr, ds, COLUMN, which, i, paper, ink, state->common->colcount[i*3+which]); } for (i = 0; i < h; i++) { - draw_num_col(dr, ds, ROW, which, i, paper, ink, + draw_num(dr, ds, ROW, which, i, paper, ink, state->common->rowcount[i*3+which]); } } |