mirror of
https://codeberg.org/ACME-Corporation/cub3d.git
synced 2025-12-06 01:48:08 +01:00
Compare commits
2 commits
a0967d5f93
...
b9b164e32d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b9b164e32d | ||
|
|
4564db6f2f |
5 changed files with 1447 additions and 7 deletions
2
Makefile
2
Makefile
|
|
@ -4,7 +4,7 @@ CC = cc
|
||||||
# https://github.com/google/sanitizers/wiki/AddressSanitizer
|
# https://github.com/google/sanitizers/wiki/AddressSanitizer
|
||||||
SANITIZERS = -fsanitize=address,undefined -fno-omit-frame-pointer
|
SANITIZERS = -fsanitize=address,undefined -fno-omit-frame-pointer
|
||||||
ifeq ($(CFLAGS),)
|
ifeq ($(CFLAGS),)
|
||||||
CFLAGS = -Wall -Wextra -Werror -g
|
CFLAGS = -Wall -Wextra -Werror -g -O3 -ffast-math
|
||||||
endif
|
endif
|
||||||
IFLAGS = -I./mlx -I./libft
|
IFLAGS = -I./mlx -I./libft
|
||||||
|
|
||||||
|
|
|
||||||
70
ressources/north_2.xpm
Normal file
70
ressources/north_2.xpm
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
/* XPM */
|
||||||
|
static char * north_2_xpm[] = {
|
||||||
|
"64 64 3 1",
|
||||||
|
" c #897451",
|
||||||
|
". c #534530",
|
||||||
|
"+ c #000000",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" . ",
|
||||||
|
" . ",
|
||||||
|
" . ",
|
||||||
|
" . ",
|
||||||
|
" .. . ",
|
||||||
|
" .. . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" .. . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . ... ",
|
||||||
|
" . .. ",
|
||||||
|
" . .. ",
|
||||||
|
" . . ",
|
||||||
|
" . ",
|
||||||
|
" . ",
|
||||||
|
" . ",
|
||||||
|
" . ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" +++ +++ ",
|
||||||
|
" +++ +++ ",
|
||||||
|
" +++ +++ ",
|
||||||
|
" ",
|
||||||
|
" +++ +++ ",
|
||||||
|
" +++++++++ ",
|
||||||
|
" +++++++++ ",
|
||||||
|
" +++ ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" "};
|
||||||
1361
ressources/test_holed.xpm
Normal file
1361
ressources/test_holed.xpm
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
|
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/07/17 14:54:36 by kcolin #+# #+# */
|
/* Created: 2025/07/17 14:54:36 by kcolin #+# #+# */
|
||||||
/* Updated: 2025/08/07 11:38:18 by tchampio ### ########.fr */
|
/* Updated: 2025/08/08 12:08:23 by tchampio ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
|
||||||
19
src/main.c
19
src/main.c
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
|
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/07/17 14:14:30 by kcolin #+# #+# */
|
/* Created: 2025/07/17 14:14:30 by kcolin #+# #+# */
|
||||||
/* Updated: 2025/08/07 12:27:47 by tchampio ### ########.fr */
|
/* Updated: 2025/08/11 11:03:22 by tchampio ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
@ -35,6 +35,8 @@
|
||||||
int game_loop(t_cub3d_data *data)
|
int game_loop(t_cub3d_data *data)
|
||||||
{
|
{
|
||||||
t_ray ray;
|
t_ray ray;
|
||||||
|
int fps;
|
||||||
|
char *fps_string;
|
||||||
|
|
||||||
data->last_tick = get_milliseconds();
|
data->last_tick = get_milliseconds();
|
||||||
mlx_destroy_image(data->mlx, data->img_data->img);
|
mlx_destroy_image(data->mlx, data->img_data->img);
|
||||||
|
|
@ -49,7 +51,11 @@ int game_loop(t_cub3d_data *data)
|
||||||
data->img_data->img, 0, 0);
|
data->img_data->img, 0, 0);
|
||||||
mlx_string_put(data->mlx, data->mlx_win, 10, 10, 0x00FFFFFF, COMPILED_TEXT);
|
mlx_string_put(data->mlx, data->mlx_win, 10, 10, 0x00FFFFFF, COMPILED_TEXT);
|
||||||
data->delta = (get_milliseconds() - data->last_tick);
|
data->delta = (get_milliseconds() - data->last_tick);
|
||||||
ft_printf("%d,%d\n", data->last_tick, data->delta);
|
fps = 1000000.0 / data->delta;
|
||||||
|
fps_string = ft_itoa(fps);
|
||||||
|
mlx_string_put(data->mlx, data->mlx_win, WIDTH - 20, 15, 0xFF0000,
|
||||||
|
fps_string);
|
||||||
|
free(fps_string);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,16 +66,19 @@ int main(int argc, char **argv)
|
||||||
if (argc < 2)
|
if (argc < 2)
|
||||||
return (ft_printf("Error: Missing cub3d file\n"), 1);
|
return (ft_printf("Error: Missing cub3d file\n"), 1);
|
||||||
init_cub3d_data(&data, argv);
|
init_cub3d_data(&data, argv);
|
||||||
// placing a sprite next to player to ease debugging
|
// FIXME: Delete this whole piece of code when we will init sprites from
|
||||||
|
// map
|
||||||
data.sprite_list = ft_calloc(sizeof(t_sprite *), 3);
|
data.sprite_list = ft_calloc(sizeof(t_sprite *), 3);
|
||||||
data.sprite_list[0] = ft_calloc(sizeof(t_sprite), 1);
|
data.sprite_list[0] = ft_calloc(sizeof(t_sprite), 1);
|
||||||
data.sprite_list[1] = ft_calloc(sizeof(t_sprite), 1);
|
data.sprite_list[1] = ft_calloc(sizeof(t_sprite), 1);
|
||||||
data.sprite_list[0]->x = data.map->startx + 1;
|
data.sprite_list[0]->x = data.map->startx + 1;
|
||||||
data.sprite_list[0]->y = data.map->starty;
|
data.sprite_list[0]->y = data.map->starty;
|
||||||
data.sprite_list[0]->image = load_single_texture(&data, "ressources/box.xpm");
|
data.sprite_list[0]->image = load_single_texture(&data,
|
||||||
|
"ressources/box.xpm");
|
||||||
data.sprite_list[1]->x = data.map->startx;
|
data.sprite_list[1]->x = data.map->startx;
|
||||||
data.sprite_list[1]->y = data.map->starty - 2;
|
data.sprite_list[1]->y = data.map->starty - 2;
|
||||||
data.sprite_list[1]->image = load_single_texture(&data, "ressources/test.xpm");
|
data.sprite_list[1]->image = load_single_texture(&data,
|
||||||
|
"ressources/test_holed.xpm");
|
||||||
mlx_hook(data.mlx_win, KeyPress, KeyPressMask, keypress_handler, &data);
|
mlx_hook(data.mlx_win, KeyPress, KeyPressMask, keypress_handler, &data);
|
||||||
mlx_hook(data.mlx_win, KeyRelease, KeyReleaseMask,
|
mlx_hook(data.mlx_win, KeyRelease, KeyReleaseMask,
|
||||||
keyrelease_handler, &data);
|
keyrelease_handler, &data);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue