summaryrefslogtreecommitdiffstats
path: root/src/char/char.c
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2021-08-09 01:07:40 (EDT)
committer P. J. McDermott <pj@pehjota.net>2021-08-09 01:07:40 (EDT)
commit016c9daf3e46d08204f24b6da7d7820c64414a34 (patch)
tree695d2f1bd975b2085a9cb09b2de363c5d9d71e2b /src/char/char.c
parent21781ba0436d134409a965cceeda05dc00acef85 (diff)
downloadmazefight-016c9daf3e46d08204f24b6da7d7820c64414a34.zip
mazefight-016c9daf3e46d08204f24b6da7d7820c64414a34.tar.gz
mazefight-016c9daf3e46d08204f24b6da7d7820c64414a34.tar.bz2
char: Add a step method
Diffstat (limited to 'src/char/char.c')
-rw-r--r--src/char/char.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/char/char.c b/src/char/char.c
index 97c3cc4..05ca03a 100644
--- a/src/char/char.c
+++ b/src/char/char.c
@@ -59,7 +59,6 @@ mf_char_get_vector(struct mf_char *c, int *x, int *y, int *travel,
int
mf_char_update(struct mf_char *c)
{
- int stepped = SDL_FALSE;
int dx;
int dy;
@@ -70,7 +69,9 @@ mf_char_update(struct mf_char *c)
/* Reached next cell */
c->cur_x = c->new_x;
c->cur_y = c->new_y;
- stepped = SDL_TRUE;
+ if (c->step(c) < 0) {
+ return -1;
+ }
if (c->cur_dir == c->new_dir) {
/* Want to continue straight */
c->travel -= c->cell_width;
@@ -113,13 +114,11 @@ mf_char_update(struct mf_char *c)
c->new_x = c->cur_x + dx;
c->new_y = c->cur_y + dy;
c->travel += c->speed;
- } else {
- stepped = SDL_TRUE;
}
}
end:
- return c->update(c, stepped);
+ return c->update(c);
}
int