added some base for the player and init
This commit is contained in:
parent
0bfb9a46cd
commit
1665a2d8e6
@ -6,7 +6,7 @@
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* 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 "keyhandle.h"
|
||||
# include "render.h"
|
||||
# include "player.h"
|
||||
|
||||
# define FAILURE 0
|
||||
# define SUCCESS 1
|
||||
|
||||
21
inc/player.h
Normal file
21
inc/player.h
Normal 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
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* 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"
|
||||
|
||||
void render_clear(t_screen *screen);
|
||||
void render_entities(t_game *game);
|
||||
|
||||
#endif
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* 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;
|
||||
render_clear(game->screen);
|
||||
render_entities(game);
|
||||
}
|
||||
|
||||
void game_terminate(t_game *game)
|
||||
@ -50,5 +51,5 @@ void game_terminate(t_game *game)
|
||||
if (game->map)
|
||||
free(game->map);
|
||||
free(game);
|
||||
exit(EXIT_SUCCESS); //TODO: Make this variable on the last error
|
||||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
24
src/main.c
24
src/main.c
@ -6,24 +6,32 @@
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* 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"
|
||||
|
||||
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)
|
||||
{
|
||||
t_game *game;
|
||||
|
||||
errno = 0;
|
||||
game = NULL;
|
||||
if (! game_create(&game)){
|
||||
game_error(game, NULL);
|
||||
return (EXIT_FAILURE);
|
||||
}
|
||||
screen_center(game->screen);
|
||||
mlx_key_hook(game->screen->mlx, keyhandle, game);
|
||||
mlx_loop_hook(game->screen->mlx, game_loop, game);
|
||||
init_game(&game);
|
||||
perror("after init");
|
||||
mlx_loop(game->screen->mlx);
|
||||
game_terminate(game);
|
||||
return (EXIT_SUCCESS);
|
||||
|
||||
35
src/player.c
Normal file
35
src/player.c
Normal 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);
|
||||
}
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* 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;
|
||||
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);
|
||||
}
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* 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->height = HEIGHT;
|
||||
mlx = mlx_init(WIDTH, HEIGHT, TITLE, false);
|
||||
//TODO: figure out why errno = 11 after this call
|
||||
screen->mlx = mlx;
|
||||
img = mlx_new_image(screen->mlx, WIDTH, HEIGHT);
|
||||
screen->img = img;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user