summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2022-01-26 17:15:20 (EST)
committer P. J. McDermott <pj@pehjota.net>2022-01-27 00:45:36 (EST)
commitc8b5065a45bc098d1c7dde0d88f6f78793223928 (patch)
tree9a60b6b78e9de29d16a904984ad8278ac5b24ddc
parent95ce2c5f032e740ea2e3c44f8055cb3c1f1ce8c5 (diff)
downloadmazefight-c8b5065a45bc098d1c7dde0d88f6f78793223928.zip
mazefight-c8b5065a45bc098d1c7dde0d88f6f78793223928.tar.gz
mazefight-c8b5065a45bc098d1c7dde0d88f6f78793223928.tar.bz2
maze: Factor out border line drawing
-rw-r--r--src/maze.c23
-rw-r--r--src/maze.h3
2 files changed, 10 insertions, 16 deletions
diff --git a/src/maze.c b/src/maze.c
index 05703a7..a59b4e9 100644
--- a/src/maze.c
+++ b/src/maze.c
@@ -234,7 +234,7 @@ mf_maze_new(int s, int w, int h, int show_all)
}
static int
-_mf_maze_render_line(SDL_Renderer *renderer, int x, int y, int w, int h, int cw)
+_mf_maze_draw_line(SDL_Renderer *renderer, int x, int y, int w, int h, int cw)
{
SDL_Rect rect;
@@ -252,8 +252,7 @@ _mf_maze_render_line(SDL_Renderer *renderer, int x, int y, int w, int h, int cw)
}
int
-mf_maze_render(struct mf_maze *m, SDL_Renderer *renderer, SDL_Color *color,
- int cw)
+mf_maze_render(struct mf_maze *m, SDL_Renderer *r, SDL_Color *color, int cw)
{
int e;
int x;
@@ -261,7 +260,7 @@ mf_maze_render(struct mf_maze *m, SDL_Renderer *renderer, SDL_Color *color,
e = 0;
- if (SDL_SetRenderDrawColor(renderer,
+ if (SDL_SetRenderDrawColor(r,
color->r, color->g, color->b, color->a) < 0) {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,
"Couldn't set drawing color: %s",
@@ -269,15 +268,11 @@ mf_maze_render(struct mf_maze *m, SDL_Renderer *renderer, SDL_Color *color,
e = -1;
}
- x = m->w * cw - 1;
- y = m->h * cw - 1;
if (
- SDL_RenderDrawLine(renderer, 0, 0, x, 0) < 0 ||
- SDL_RenderDrawLine(renderer, 0, y, x, y) < 0 ||
- SDL_RenderDrawLine(renderer, 0, 0, 0, y) < 0 ||
- SDL_RenderDrawLine(renderer, x, 0, x, y) < 0) {
- SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,
- "Couldn't draw line: %s", SDL_GetError());
+ _mf_maze_draw_line(r, 0, 0, m->w, 0, cw) < 0 ||
+ _mf_maze_draw_line(r, 0, m->h, m->w, 0, cw) < 0 ||
+ _mf_maze_draw_line(r, 0, 0, 0, m->h, cw) < 0 ||
+ _mf_maze_draw_line(r, m->w, 0, 0, m->h, cw) < 0) {
e = -1;
}
@@ -286,7 +281,7 @@ mf_maze_render(struct mf_maze *m, SDL_Renderer *renderer, SDL_Color *color,
if (y < m->h - 1 && mf_maze_is_wall(m, x, y, 0, 1) &&
_mf_maze_revealed_wall(m, x, y, 0, 1)) {
/* Draw h line */
- if (_mf_maze_render_line(renderer, x , y+1,
+ if (_mf_maze_draw_line(r, x , y+1,
1, 0, cw) < 0) {
e = -1;
}
@@ -294,7 +289,7 @@ mf_maze_render(struct mf_maze *m, SDL_Renderer *renderer, SDL_Color *color,
if (x < m->w - 1 && mf_maze_is_wall(m, x, y, 1, 0) &&
_mf_maze_revealed_wall(m, x, y, 1, 0)) {
/* Draw v line */
- if (_mf_maze_render_line(renderer, x+1, y ,
+ if (_mf_maze_draw_line(r, x+1, y ,
0, 1, cw) < 0) {
e = -1;
}
diff --git a/src/maze.h b/src/maze.h
index 4482f67..fb96358 100644
--- a/src/maze.h
+++ b/src/maze.h
@@ -41,8 +41,7 @@ struct mf_maze *
mf_maze_new(int s, int w, int h, int show_all);
int
-mf_maze_render(struct mf_maze *m, SDL_Renderer *renderer, SDL_Color *color,
- int cw);
+mf_maze_render(struct mf_maze *m, SDL_Renderer *r, SDL_Color *color, int cw);
void
mf_maze_destroy(struct mf_maze **m_p);