Mercurial > molko
changeset 216:33ddbe30440e
rpg: improve collisions
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 18 Nov 2020 10:03:27 +0100 |
parents | 64f24b482722 |
children | 836bac1419c7 |
files | librpg/rpg/map.c |
diffstat | 1 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/librpg/rpg/map.c Tue Nov 17 20:08:42 2020 +0100 +++ b/librpg/rpg/map.c Wed Nov 18 10:03:27 2020 +0100 @@ -312,8 +312,8 @@ const int playercol = map->player_x / map->tileset->sprite->cellw; const int playerrow = map->player_y / map->tileset->sprite->cellh; - const int ncols = map->player_sprite->cellw / map->tileset->sprite->cellw; - const int nrows = map->player_sprite->cellh / map->tileset->sprite->cellh; + const int ncols = (map->player_sprite->cellw / map->tileset->sprite->cellw) + 1; + const int nrows = (map->player_sprite->cellh / map->tileset->sprite->cellh) + 1; int rowstart, rowend, colstart, colend; if (drow) { @@ -328,7 +328,7 @@ block->w = WIDTH(map); } else { /* Moving DOWN. */ - rowstart = playerrow + nrows; + rowstart = playerrow; rowend = HEIGHT(map); block->x = block->h = 0; block->y = HEIGHT(map); @@ -346,7 +346,7 @@ block->h = HEIGHT(map); } else { /* Moving RIGHT. */ - colstart = playercol + ncols; + colstart = playercol; colend = WIDTH(map); block->x = WIDTH(map); block->y = block->w = 0;