This commit is contained in:
Quinten Mennen 2025-06-03 14:59:06 +02:00
parent 6231545044
commit 27550d497d
11 changed files with 62 additions and 48 deletions

BIN
assets/Run.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -24,6 +24,7 @@ uniform sampler2D Texture15;
uniform float u_time;
uniform float u_battery;
uniform vec2 u_resolution;
uniform float u_hit_timer;
float rand(vec2 co) {
return fract(sin(dot(co.xy, vec2(12.9898,78.233))) * 43758.5453);
@ -57,7 +58,12 @@ void main()
case 15: texColor = texture(Texture15, TexCoord); break;
default: texColor = vec4(1.0, 0.0, 0.0, 1.0); break;
}
//generate a red flash
// if (u_hit_timer > 0.0) {
// float flash = sin(u_hit_timer * 10.0) * 0.5 + 0.5;
// FragColor = vec4(1.0, flash * 0.2, flash * 0.2, texColor.a);
// return;
// }
if (TexIndex == 1) {
vec2 uv = gl_FragCoord.xy / u_resolution.xy;
uv.x *= u_resolution.x / u_resolution.y;

View File

@ -1,12 +1,12 @@
/* ************************************************************************** */
/* */
/* :::::::: */
/* types.h :+: :+: */
/* +:+ */
/* By: whaffman <whaffman@student.codam.nl> +#+ */
/* +#+ */
/* Created: 2025/04/15 15:52:44 by qmennen #+# #+# */
/* Updated: 2025/05/29 11:06:24 by whaffman ######## odam.nl */
/* ::: :::::::: */
/* types.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 15:52:44 by qmennen #+# #+# */
/* Updated: 2025/06/03 14:41:00 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
@ -64,6 +64,7 @@ typedef struct s_player
t_vec2 camera;
double speed;
int is_moving;
float hit_timer;
float battery;
} t_player;

View File

@ -1,18 +1,16 @@
/* ************************************************************************** */
/* */
/* :::::::: */
/* game.c :+: :+: */
/* +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ */
/* +#+ */
/* Created: 2025/04/15 15:46:08 by qmennen #+# #+# */
/* Updated: 2025/06/03 13:24:01 by whaffman ######## odam.nl */
/* ::: :::::::: */
/* game.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 15:46:08 by qmennen #+# #+# */
/* Updated: 2025/06/03 14:16:16 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
#include "game.h"
// #include "glad.h"
// #include "MLX42_Int.h"
int game_create(t_game **game)
{

View File

@ -1,12 +1,12 @@
/* ************************************************************************** */
/* */
/* :::::::: */
/* game_manager.c :+: :+: */
/* +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ */
/* +#+ */
/* Created: 2025/05/27 13:48:18 by qmennen #+# #+# */
/* Updated: 2025/05/29 11:06:33 by whaffman ######## odam.nl */
/* ::: :::::::: */
/* game_manager.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/27 13:48:18 by qmennen #+# #+# */
/* Updated: 2025/06/03 14:55:46 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/28 14:14:11 by qmennen #+# #+# */
/* Updated: 2025/05/28 15:00:41 by qmennen ### ########.fr */
/* Updated: 2025/06/03 14:19:45 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/27 14:31:53 by qmennen #+# #+# */
/* Updated: 2025/05/28 15:21:30 by qmennen ### ########.fr */
/* Updated: 2025/06/03 14:22:52 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */

View File

@ -1,12 +1,12 @@
/* ************************************************************************** */
/* */
/* :::::::: */
/* moves.c :+: :+: */
/* +:+ */
/* By: whaffman <whaffman@student.codam.nl> +#+ */
/* +#+ */
/* Created: 2025/05/14 20:08:27 by whaffman #+# #+# */
/* Updated: 2025/06/03 13:43:26 by whaffman ######## odam.nl */
/* ::: :::::::: */
/* moves.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/14 20:08:27 by whaffman #+# #+# */
/* Updated: 2025/06/03 14:54:45 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
@ -96,4 +96,8 @@ void player_update(t_game *game, double delta_time)
game->screen->flash = 3;
game->player->battery -= 0.1f;
}
if (game->player->hit_timer > 0)
{
game->player->hit_timer -= 1;
}
}

View File

@ -1,12 +1,12 @@
/* ************************************************************************** */
/* */
/* :::::::: */
/* player.c :+: :+: */
/* +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ */
/* +#+ */
/* Created: 2025/04/15 18:53:19 by qmennen #+# #+# */
/* Updated: 2025/05/23 15:22:22 by whaffman ######## odam.nl */
/* ::: :::::::: */
/* player.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 18:53:19 by qmennen #+# #+# */
/* Updated: 2025/06/03 14:55:17 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
@ -24,6 +24,7 @@ int player_create(t_game **game)
player->pos.y = -1;
player->speed = 3.f;
player->battery = .5f;
player->hit_timer = 10.0f;
(*game)->player = player;
return (SUCCESS);
}

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/08 18:27:59 by qmennen #+# #+# */
/* Updated: 2025/05/28 14:37:33 by qmennen ### ########.fr */
/* Updated: 2025/06/03 14:41:38 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
@ -25,6 +25,8 @@ void set_uniforms(t_game *game)
game->player->battery);
glUniform2f(glGetUniformLocation(ctx->shaderprogram, "u_resolution"),
game->screen->width, game->screen->height);
glUniform1f(glGetUniformLocation(ctx->shaderprogram, "u_hit_timer"),
game->player->hit_timer);
}
static const char *read_vertex_shader(void)
@ -32,19 +34,19 @@ static const char *read_vertex_shader(void)
const char *target = "./assets/shaders/vert.glsl";
char *shader;
int fd;
int file_size;
size_t bytes_read;
file_size = get_file_size(target);
fd = open(target, O_RDONLY);
if (fd < 0)
{
return (perror("Error opening shader file"), NULL);
}
shader = malloc(4096);
shader = malloc(file_size * sizeof(char) + 1);
if (!shader)
{
return (perror("Error allocating memory for shader"), close(fd), NULL);
}
bytes_read = read(fd, shader, 4096);
bytes_read = read(fd, shader, file_size);
if (bytes_read < 0)
{
return (perror("Error reading shader file"),
@ -59,19 +61,21 @@ static const char *read_fragment_shader(void)
const char *target = "./assets/shaders/frag.glsl";
char *shader;
int fd;
int file_size;
size_t bytes_read;
file_size = get_file_size(target);
fd = open(target, O_RDONLY);
if (fd < 0)
{
return (perror("Error opening shader file"), NULL);
}
shader = malloc(4096);
shader = malloc(file_size * sizeof(char) + 1);
if (!shader)
{
return (perror("Error allocating memory for shader"), close(fd), NULL);
}
bytes_read = read(fd, shader, 4096);
bytes_read = read(fd, shader, file_size);
if (bytes_read < 0)
{
return (perror("Error reading shader file"),

View File

@ -18,7 +18,7 @@ CT ./assets/ceiling64x64.png
-s a ./assets/lamp.png
-c b ./assets/accu.png
-s p ./assets/plant.png
-e g ./assets/mushroom.png
-e g ./assets/Run.png
-s m ./assets/broken_mirror.png
-s t ./assets/test.png
-e e ./assets/flying_eye.png