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;