feat: better floor and walls
This commit is contained in:
parent
45622cf647
commit
a00a02e527
9 changed files with 59 additions and 20 deletions
2
Makefile
2
Makefile
|
@ -5,7 +5,7 @@ INCLUDES = includes/
|
|||
CODE = main error env input timedloop \
|
||||
data_assets data_sprites \
|
||||
display1 display2 display_utils sprite \
|
||||
room1 room2 room_utils point \
|
||||
room1 room2 room_utils1 room_utils2 point \
|
||||
object_character object_snas object_wall
|
||||
LIBRARIES = mlx libtf
|
||||
LIBRARIES_FILES = libtf/libtf.a
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/11 15:56:31 by mcolonna #+# #+# */
|
||||
/* Updated: 2024/03/29 15:02:34 by mcolonna ### ########.fr */
|
||||
/* Updated: 2024/04/02 12:43:24 by mcolonna ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
|||
|
||||
# include "data_assets.h"
|
||||
|
||||
# define NB_SPRITES 8
|
||||
# define NB_SPRITES 9
|
||||
|
||||
typedef enum e_assettype
|
||||
{
|
||||
|
@ -37,7 +37,8 @@ extern const t_spriteinfo g_spritesmap[NB_SPRITES];
|
|||
typedef enum e_spriteid
|
||||
{
|
||||
CASE_WALL,
|
||||
CASE_FLOOR,
|
||||
CASE_FLOOR_1,
|
||||
CASE_FLOOR_2,
|
||||
SPR_SNAS,
|
||||
SPR_SNAS_DOWN,
|
||||
SPR_SNAS_UP,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/07 23:00:45 by mcolonna #+# #+# */
|
||||
/* Updated: 2024/03/29 15:44:11 by mcolonna ### ########.fr */
|
||||
/* Updated: 2024/04/02 12:42:52 by mcolonna ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
@ -29,7 +29,6 @@ typedef struct s_room
|
|||
typedef struct s_roomcase
|
||||
{
|
||||
char c;
|
||||
t_spriteid surface_spr;
|
||||
t_object_init object;
|
||||
} t_roomcase;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/13 16:34:01 by mcolonna #+# #+# */
|
||||
/* Updated: 2024/03/28 17:54:32 by mcolonna ### ########.fr */
|
||||
/* Updated: 2024/04/02 12:32:46 by mcolonna ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
@ -21,5 +21,6 @@ void room_getsize(t_memclass mc, t_room *r, t_const_string path);
|
|||
t_roomcase *getroomcase(t_const_string path, char c);
|
||||
void moveobject(t_room room, t_point start, t_point move);
|
||||
bool isinlist(void *addr, t_list list);
|
||||
void room_patch(t_room *room);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
0011111
|
||||
0010000
|
||||
0011P00
|
||||
0000000
|
||||
0000000
|
||||
1111111
|
||||
1010001
|
||||
1011P01
|
||||
1000001
|
||||
1111111
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/11 16:02:29 by mcolonna #+# #+# */
|
||||
/* Updated: 2024/03/29 15:02:13 by mcolonna ### ########.fr */
|
||||
/* Updated: 2024/04/02 12:39:30 by mcolonna ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
|||
const t_spriteinfo g_spritesmap[NB_SPRITES] = {
|
||||
{WALL_BORDER, 1, 50, 50, ANIMATION},
|
||||
{FLOOR_1, 1, 50, 50, ANIMATION},
|
||||
{FLOOR_2, 1, 50, 50, ANIMATION},
|
||||
{OBJECT_SNAS, 0, 50, 50, CHARACTER_STILL},
|
||||
{OBJECT_SNAS_DOWN, 1, 50, 50, ANIMATION},
|
||||
{OBJECT_SNAS_UP, 1, 50, 50, ANIMATION},
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/07 23:31:22 by mcolonna #+# #+# */
|
||||
/* Updated: 2024/03/29 17:32:26 by mcolonna ### ########.fr */
|
||||
/* Updated: 2024/04/02 12:42:18 by mcolonna ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
@ -32,7 +32,6 @@ static bool room_fromfile2(
|
|||
while (*line && *line != '\n')
|
||||
{
|
||||
roomcase = getroomcase(path, *line);
|
||||
room->surfaces[*i] = sprite_init(roomcase->surface_spr);
|
||||
if (roomcase->object)
|
||||
{
|
||||
room->objects[*i] = mem_alloc(err, room->mc, sizeof(t_object));
|
||||
|
@ -65,6 +64,7 @@ t_room room_fromfile(t_const_string path)
|
|||
while (room_fromfile2(fd, path, &i, &r))
|
||||
;
|
||||
mem_freeall(mc);
|
||||
room_patch(&r);
|
||||
return (r);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* room_utils.c :+: :+: :+: */
|
||||
/* room_utils1.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/13 16:26:28 by mcolonna #+# #+# */
|
||||
/* Updated: 2024/03/29 17:21:17 by mcolonna ### ########.fr */
|
||||
/* Updated: 2024/04/02 12:44:30 by mcolonna ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
@ -16,9 +16,9 @@
|
|||
#include "object.h"
|
||||
|
||||
static t_roomcase g_roomcases[] = {
|
||||
{c: '0', surface_spr: CASE_FLOOR, object: NULL},
|
||||
{c: '1', surface_spr: CASE_FLOOR, object: wall_init},
|
||||
{c: 'P', surface_spr: CASE_FLOOR, object: snas_init},
|
||||
{c: '0', object: NULL},
|
||||
{c: '1', object: wall_init},
|
||||
{c: 'P', object: snas_init},
|
||||
{c: '\0'}
|
||||
};
|
||||
|
37
src/room_utils2.c
Normal file
37
src/room_utils2.c
Normal file
|
@ -0,0 +1,37 @@
|
|||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* room_utils2.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/04/02 12:33:48 by mcolonna #+# #+# */
|
||||
/* Updated: 2024/04/02 12:51:20 by mcolonna ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "room_utils.h"
|
||||
#include "data_sprites.h"
|
||||
|
||||
void room_patch(t_room *room)
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
|
||||
x = -1;
|
||||
while (++x < room->width)
|
||||
{
|
||||
y = -1;
|
||||
while (++y < room->height)
|
||||
{
|
||||
if (y == 0 || y == room->height - 1)
|
||||
{
|
||||
room->surfaces[y * room->width + x] = sprite_init(CASE_WALL);
|
||||
room->objects[y * room->width + x] = NULL;
|
||||
}
|
||||
else
|
||||
room->surfaces[y * room->width + x] = sprite_init(
|
||||
CASE_FLOOR_1 + (x + y) % 2);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue