feat: add walls and borders *

Also fix: getting an object from t_room.objects
This commit is contained in:
mcolonna 2024-03-29 16:02:17 +01:00
parent ef0941e44f
commit 97097c2529
11 changed files with 113 additions and 29 deletions

View file

@ -6,7 +6,7 @@
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/03/11 15:56:31 by mcolonna #+# #+# */
/* Updated: 2024/03/29 13:55:24 by mcolonna ### ########.fr */
/* Updated: 2024/03/29 15:02:34 by mcolonna ### ########.fr */
/* */
/* ************************************************************************** */
@ -15,7 +15,7 @@
# include "data_assets.h"
# define NB_SPRITES 7
# define NB_SPRITES 8
typedef enum e_assettype
{
@ -43,6 +43,7 @@ typedef enum e_spriteid
SPR_SNAS_UP,
SPR_SNAS_LEFT,
SPR_SNAS_RIGHT,
SPR_WALL,
} t_spriteid;
#endif

View file

@ -6,7 +6,7 @@
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/03/15 14:58:25 by mcolonna #+# #+# */
/* Updated: 2024/03/28 17:51:55 by mcolonna ### ########.fr */
/* Updated: 2024/03/29 15:29:58 by mcolonna ### ########.fr */
/* */
/* ************************************************************************** */
@ -32,7 +32,8 @@ typedef struct s_object
{
t_objecttype type;
void *data;
} t_object;
bool solid;
} t_object;
typedef t_object (*t_object_init)(t_memclass);
@ -67,4 +68,12 @@ typedef struct s_snas_data
t_object snas_init(t_memclass mc);
/**** WALL ****/
typedef struct s_wall_data
{
t_sprite spr;
} t_wall_data;
t_object wall_init(t_memclass mc);
#endif

View file

@ -6,7 +6,7 @@
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/03/07 23:00:45 by mcolonna #+# #+# */
/* Updated: 2024/03/26 16:06:02 by mcolonna ### ########.fr */
/* Updated: 2024/03/29 15:44:11 by mcolonna ### ########.fr */
/* */
/* ************************************************************************** */
@ -33,12 +33,18 @@ typedef struct s_roomcase
t_object_init object;
} t_roomcase;
t_room room_fromfile(t_const_string path);
t_room room_fromfile(t_const_string path);
void room_loop(t_room room);
void room_loop(t_room room);
void room_draw(t_room room);
void room_draw(t_room room);
void room_free(t_room room);
void room_free(t_room room);
t_object *room_getobjectfaced(
t_room room, t_character *character, t_point pos);
bool room_canwalk(
t_room room, t_character *character, t_point pos);
#endif