diff --git a/src/consts.h b/src/consts.h index a748f55..99f341d 100644 --- a/src/consts.h +++ b/src/consts.h @@ -6,7 +6,7 @@ /* By: kcolin +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/07/17 14:54:36 by kcolin #+# #+# */ -/* Updated: 2025/08/19 20:07:29 by tchampio ### ########.fr */ +/* Updated: 2025/10/07 13:49:26 by tchampio ### ########.fr */ /* */ /* ************************************************************************** */ @@ -53,7 +53,7 @@ # define ENOCUB "Not a .cub file" # define EOPEN "Can't open file" # define EMALMAP "Map is malformed (invalid chars or missing walls)" -# define ENOPLAYER "No player" +# define ENOPLAYER "No player or no map (monster!!)" # define EHOLES "Holes in map" # define ETRAILING "Trailing chars after map" # define EBADCHARCOLOR "invalid characters in color definition" diff --git a/src/hud/hud.c b/src/hud/hud.c index c8debef..b301818 100644 --- a/src/hud/hud.c +++ b/src/hud/hud.c @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* hud.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tchampio +#+ +:+ +#+ */ +/* By: freddy +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/09/08 17:27:12 by tchampio #+# #+# */ -/* Updated: 2025/09/17 16:55:05 by tchampio ### ########.fr */ +/* Updated: 2025/10/07 13:41:00 by freddy ### ########.fr */ /* */ /* ************************************************************************** */ @@ -91,4 +91,8 @@ void create_hud(t_cub3d_data *data) matrix_image_put(data, data->player.weapon->texture, WIDTH / 2, HEIGHT - 175); matrix_set(data, WIDTH / 2, HEIGHT / 2, 0x0000FF00); + matrix_set(data, WIDTH / 2 + 1, HEIGHT / 2, 0x0000FF00); + matrix_set(data, WIDTH / 2 - 1, HEIGHT / 2, 0x0000FF00); + matrix_set(data, WIDTH / 2, HEIGHT / 2 + 1, 0x0000FF00); + matrix_set(data, WIDTH / 2, HEIGHT / 2 - 1, 0x0000FF00); } diff --git a/src/map/checkers.c b/src/map/checkers.c index 58b856a..035757b 100644 --- a/src/map/checkers.c +++ b/src/map/checkers.c @@ -6,7 +6,7 @@ /* By: kcolin +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/07/17 14:15:26 by kcolin #+# #+# */ -/* Updated: 2025/10/03 23:51:46 by tchampio ### ########.fr */ +/* Updated: 2025/10/07 13:48:17 by tchampio ### ########.fr */ /* */ /* ************************************************************************** */ @@ -74,7 +74,7 @@ bool check_bare_minimum(t_mapdata *map) i = 0; spawncount = 0; - while (map->map[i]) + while (map->map && map->map[i]) { j = 0; while (map->map[i][j]) diff --git a/src/player/player.c b/src/player/player.c index 5051761..7675ca9 100644 --- a/src/player/player.c +++ b/src/player/player.c @@ -6,7 +6,7 @@ /* By: kcolin +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/08/06 11:29:14 by kcolin #+# #+# */ -/* Updated: 2025/09/18 12:06:58 by tchampio ### ########.fr */ +/* Updated: 2025/10/07 12:49:37 by tchampio ### ########.fr */ /* */ /* ************************************************************************** */ @@ -64,7 +64,7 @@ void init_player(t_cub3d_data *data, t_player *player, t_mapdata *map) player->health = 100; player->points = 500; ft_bzero(player->perk_order, 3); - player->weapon = data->weaponsregistry[1]; + player->weapon = data->weaponsregistry[0]; if (dir == 'N' || dir == 'S') init_lon(player, dir); else diff --git a/src/sprites/sprite_interactions.c b/src/sprites/sprite_interactions.c index f6efb30..050f7a8 100644 --- a/src/sprites/sprite_interactions.c +++ b/src/sprites/sprite_interactions.c @@ -6,7 +6,7 @@ /* By: tchampio +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/10/03 18:18:04 by tchampio #+# #+# */ -/* Updated: 2025/10/03 18:19:03 by tchampio ### ########.fr */ +/* Updated: 2025/10/07 12:51:07 by tchampio ### ########.fr */ /* */ /* ************************************************************************** */ @@ -50,7 +50,14 @@ void pay_and_give(t_cub3d_data *data, t_sprite *current_sprite) if (last_perk_pos > 2) return ; symbol = data->map->map[(int)current_sprite->y][(int)current_sprite->x]; - pick_right_perk(symbol, data, &last_perk_pos); + if (symbol == 'M' && pay(data, 950, false) + && data->player.weapon != data->weaponsregistry[1]) + { + data->player.weapon = data->weaponsregistry[1]; + ft_printf("Gave player enhanced gun\n"); + } + else + pick_right_perk(symbol, data, &last_perk_pos); } void handle_sprite_interactions(t_cub3d_data *data) @@ -62,7 +69,9 @@ void handle_sprite_interactions(t_cub3d_data *data) if (data->sprite_distances[data->sprite_counter - 1] <= 1.5) { if (data->sprite_list[data->sprite_order[data->sprite_counter - 1]] - ->sprite_type == PERK) + ->sprite_type == PERK + || data->sprite_list + [data->sprite_order[data->sprite_counter - 1]]->sprite_type == BOX) { if (data->keypresses.is_f_pressed) {