added some base for the player and init

This commit is contained in:
Quinten Mennen 2025-04-15 19:42:39 +02:00
parent 0bfb9a46cd
commit 1665a2d8e6
8 changed files with 88 additions and 15 deletions

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */ /* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 12:22:29 by qmennen #+# #+# */ /* Created: 2025/04/15 12:22:29 by qmennen #+# #+# */
/* Updated: 2025/04/15 17:55:33 by qmennen ### ########.fr */ /* Updated: 2025/04/15 18:55:25 by qmennen ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -22,6 +22,7 @@
# include "screen.h" # include "screen.h"
# include "keyhandle.h" # include "keyhandle.h"
# include "render.h" # include "render.h"
# include "player.h"
# define FAILURE 0 # define FAILURE 0
# define SUCCESS 1 # define SUCCESS 1

21
inc/player.h Normal file
View File

@ -0,0 +1,21 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* player.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 18:53:27 by qmennen #+# #+# */
/* Updated: 2025/04/15 19:08:01 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef PLAYER_H
# define PLAYER_H
# include "cub3d.h"
int player_create(t_game **game);
void player_render(t_screen *screen, t_player *player);
#endif

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */ /* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 16:28:16 by qmennen #+# #+# */ /* Created: 2025/04/15 16:28:16 by qmennen #+# #+# */
/* Updated: 2025/04/15 16:30:51 by qmennen ### ########.fr */ /* Updated: 2025/04/15 18:55:54 by qmennen ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -16,5 +16,6 @@
# include "cub3d.h" # include "cub3d.h"
void render_clear(t_screen *screen); void render_clear(t_screen *screen);
void render_entities(t_game *game);
#endif #endif

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */ /* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 15:46:08 by qmennen #+# #+# */ /* Created: 2025/04/15 15:46:08 by qmennen #+# #+# */
/* Updated: 2025/04/15 18:02:09 by qmennen ### ########.fr */ /* Updated: 2025/04/15 19:18:17 by qmennen ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -34,6 +34,7 @@ void game_loop(void *param)
game = (t_game *)param; game = (t_game *)param;
render_clear(game->screen); render_clear(game->screen);
render_entities(game);
} }
void game_terminate(t_game *game) void game_terminate(t_game *game)
@ -50,5 +51,5 @@ void game_terminate(t_game *game)
if (game->map) if (game->map)
free(game->map); free(game->map);
free(game); free(game);
exit(EXIT_SUCCESS); //TODO: Make this variable on the last error exit(EXIT_SUCCESS);
} }

View File

@ -6,24 +6,32 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */ /* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 16:01:29 by qmennen #+# #+# */ /* Created: 2025/04/15 16:01:29 by qmennen #+# #+# */
/* Updated: 2025/04/15 18:02:44 by qmennen ### ########.fr */ /* Updated: 2025/04/15 19:19:00 by qmennen ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
# include "cub3d.h" # include "cub3d.h"
static int init_game(t_game **game)
{
if (! game_create(game))
return (FAILURE);
if (!player_create(game))
return (FAILURE);
screen_center((*game)->screen);
mlx_key_hook((*game)->screen->mlx, keyhandle, *game);
mlx_loop_hook((*game)->screen->mlx, game_loop, *game);
return (SUCCESS);
}
int main(void) int main(void)
{ {
t_game *game; t_game *game;
errno = 0;
game = NULL; game = NULL;
if (! game_create(&game)){ init_game(&game);
game_error(game, NULL); perror("after init");
return (EXIT_FAILURE);
}
screen_center(game->screen);
mlx_key_hook(game->screen->mlx, keyhandle, game);
mlx_loop_hook(game->screen->mlx, game_loop, game);
mlx_loop(game->screen->mlx); mlx_loop(game->screen->mlx);
game_terminate(game); game_terminate(game);
return (EXIT_SUCCESS); return (EXIT_SUCCESS);

35
src/player.c Normal file
View File

@ -0,0 +1,35 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* player.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 18:53:19 by qmennen #+# #+# */
/* Updated: 2025/04/15 19:11:48 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
#include "player.h"
#include "types.h"
int player_create(t_game **game)
{
t_player *player;
player = malloc(sizeof(t_player));
if (!player)
return (FAILURE);
player->pos.x = 20.f;
player->pos.y = 20.f;
player->angle = 0.f;
player->speed = 10.f;
player->fov = 90.f;
(*game)->player = player;
return (SUCCESS);
}
void player_render(t_screen *screen, t_player *player)
{
mlx_put_pixel(screen->img, (int) player->pos.x, (int) player->pos.y, 0xFFFFFFFF);
}

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */ /* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 16:28:10 by qmennen #+# #+# */ /* Created: 2025/04/15 16:28:10 by qmennen #+# #+# */
/* Updated: 2025/04/15 17:41:28 by qmennen ### ########.fr */ /* Updated: 2025/04/15 19:20:00 by qmennen ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -19,5 +19,10 @@ void render_clear(t_screen *screen)
i = 0; i = 0;
while (i++ < screen->width * screen->height) while (i++ < screen->width * screen->height)
mlx_put_pixel(screen->img, i % screen->width, i / screen->width, 0x121212FF); mlx_put_pixel(screen->img, i % screen->width, i / screen->width, 0x212121FF);
}
void render_entities(t_game *game)
{
player_render(game->screen, game->player);
} }

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */ /* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 15:30:27 by qmennen #+# #+# */ /* Created: 2025/04/15 15:30:27 by qmennen #+# #+# */
/* Updated: 2025/04/15 16:47:25 by qmennen ### ########.fr */ /* Updated: 2025/04/15 19:21:23 by qmennen ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -26,6 +26,7 @@ t_screen *screen_create()
screen->width = WIDTH; screen->width = WIDTH;
screen->height = HEIGHT; screen->height = HEIGHT;
mlx = mlx_init(WIDTH, HEIGHT, TITLE, false); mlx = mlx_init(WIDTH, HEIGHT, TITLE, false);
//TODO: figure out why errno = 11 after this call
screen->mlx = mlx; screen->mlx = mlx;
img = mlx_new_image(screen->mlx, WIDTH, HEIGHT); img = mlx_new_image(screen->mlx, WIDTH, HEIGHT);
screen->img = img; screen->img = img;