merge
This commit is contained in:
parent
6231545044
commit
27550d497d
BIN
assets/Run.png
Normal file
BIN
assets/Run.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.1 KiB |
@ -24,6 +24,7 @@ uniform sampler2D Texture15;
|
|||||||
uniform float u_time;
|
uniform float u_time;
|
||||||
uniform float u_battery;
|
uniform float u_battery;
|
||||||
uniform vec2 u_resolution;
|
uniform vec2 u_resolution;
|
||||||
|
uniform float u_hit_timer;
|
||||||
|
|
||||||
float rand(vec2 co) {
|
float rand(vec2 co) {
|
||||||
return fract(sin(dot(co.xy, vec2(12.9898,78.233))) * 43758.5453);
|
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;
|
case 15: texColor = texture(Texture15, TexCoord); break;
|
||||||
default: texColor = vec4(1.0, 0.0, 0.0, 1.0); 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) {
|
if (TexIndex == 1) {
|
||||||
vec2 uv = gl_FragCoord.xy / u_resolution.xy;
|
vec2 uv = gl_FragCoord.xy / u_resolution.xy;
|
||||||
uv.x *= u_resolution.x / u_resolution.y;
|
uv.x *= u_resolution.x / u_resolution.y;
|
||||||
|
|||||||
15
inc/types.h
15
inc/types.h
@ -1,12 +1,12 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* :::::::: */
|
/* ::: :::::::: */
|
||||||
/* types.h :+: :+: */
|
/* types.h :+: :+: :+: */
|
||||||
/* +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/15 15:52:44 by qmennen #+# #+# */
|
/* Created: 2025/04/15 15:52:44 by qmennen #+# #+# */
|
||||||
/* Updated: 2025/05/29 11:06:24 by whaffman ######## odam.nl */
|
/* Updated: 2025/06/03 14:41:00 by qmennen ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -64,6 +64,7 @@ typedef struct s_player
|
|||||||
t_vec2 camera;
|
t_vec2 camera;
|
||||||
double speed;
|
double speed;
|
||||||
int is_moving;
|
int is_moving;
|
||||||
|
float hit_timer;
|
||||||
float battery;
|
float battery;
|
||||||
} t_player;
|
} t_player;
|
||||||
|
|
||||||
|
|||||||
@ -1,18 +1,16 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* :::::::: */
|
/* ::: :::::::: */
|
||||||
/* game.c :+: :+: */
|
/* game.c :+: :+: :+: */
|
||||||
/* +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* 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/06/03 13:24:01 by whaffman ######## odam.nl */
|
/* Updated: 2025/06/03 14:16:16 by qmennen ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "game.h"
|
#include "game.h"
|
||||||
// #include "glad.h"
|
|
||||||
// #include "MLX42_Int.h"
|
|
||||||
|
|
||||||
int game_create(t_game **game)
|
int game_create(t_game **game)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* :::::::: */
|
/* ::: :::::::: */
|
||||||
/* game_manager.c :+: :+: */
|
/* game_manager.c :+: :+: :+: */
|
||||||
/* +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/05/27 13:48:18 by qmennen #+# #+# */
|
/* Created: 2025/05/27 13:48:18 by qmennen #+# #+# */
|
||||||
/* Updated: 2025/05/29 11:06:33 by whaffman ######## odam.nl */
|
/* Updated: 2025/06/03 14:55:46 by qmennen ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/05/28 14:14:11 by qmennen #+# #+# */
|
/* 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 */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/05/27 14:31:53 by qmennen #+# #+# */
|
/* 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 */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|||||||
18
src/moves.c
18
src/moves.c
@ -1,12 +1,12 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* :::::::: */
|
/* ::: :::::::: */
|
||||||
/* moves.c :+: :+: */
|
/* moves.c :+: :+: :+: */
|
||||||
/* +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/05/14 20:08:27 by whaffman #+# #+# */
|
/* Created: 2025/05/14 20:08:27 by whaffman #+# #+# */
|
||||||
/* Updated: 2025/06/03 13:43:26 by whaffman ######## odam.nl */
|
/* 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->screen->flash = 3;
|
||||||
game->player->battery -= 0.1f;
|
game->player->battery -= 0.1f;
|
||||||
}
|
}
|
||||||
|
if (game->player->hit_timer > 0)
|
||||||
|
{
|
||||||
|
game->player->hit_timer -= 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
15
src/player.c
15
src/player.c
@ -1,12 +1,12 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* :::::::: */
|
/* ::: :::::::: */
|
||||||
/* player.c :+: :+: */
|
/* player.c :+: :+: :+: */
|
||||||
/* +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/15 18:53:19 by qmennen #+# #+# */
|
/* Created: 2025/04/15 18:53:19 by qmennen #+# #+# */
|
||||||
/* Updated: 2025/05/23 15:22:22 by whaffman ######## odam.nl */
|
/* 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->pos.y = -1;
|
||||||
player->speed = 3.f;
|
player->speed = 3.f;
|
||||||
player->battery = .5f;
|
player->battery = .5f;
|
||||||
|
player->hit_timer = 10.0f;
|
||||||
(*game)->player = player;
|
(*game)->player = player;
|
||||||
return (SUCCESS);
|
return (SUCCESS);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/05/08 18:27:59 by qmennen #+# #+# */
|
/* 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);
|
game->player->battery);
|
||||||
glUniform2f(glGetUniformLocation(ctx->shaderprogram, "u_resolution"),
|
glUniform2f(glGetUniformLocation(ctx->shaderprogram, "u_resolution"),
|
||||||
game->screen->width, game->screen->height);
|
game->screen->width, game->screen->height);
|
||||||
|
glUniform1f(glGetUniformLocation(ctx->shaderprogram, "u_hit_timer"),
|
||||||
|
game->player->hit_timer);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *read_vertex_shader(void)
|
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";
|
const char *target = "./assets/shaders/vert.glsl";
|
||||||
char *shader;
|
char *shader;
|
||||||
int fd;
|
int fd;
|
||||||
|
int file_size;
|
||||||
size_t bytes_read;
|
size_t bytes_read;
|
||||||
|
|
||||||
|
file_size = get_file_size(target);
|
||||||
fd = open(target, O_RDONLY);
|
fd = open(target, O_RDONLY);
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
{
|
|
||||||
return (perror("Error opening shader file"), NULL);
|
return (perror("Error opening shader file"), NULL);
|
||||||
}
|
shader = malloc(file_size * sizeof(char) + 1);
|
||||||
shader = malloc(4096);
|
|
||||||
if (!shader)
|
if (!shader)
|
||||||
{
|
{
|
||||||
return (perror("Error allocating memory for shader"), close(fd), NULL);
|
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)
|
if (bytes_read < 0)
|
||||||
{
|
{
|
||||||
return (perror("Error reading shader file"),
|
return (perror("Error reading shader file"),
|
||||||
@ -59,19 +61,21 @@ static const char *read_fragment_shader(void)
|
|||||||
const char *target = "./assets/shaders/frag.glsl";
|
const char *target = "./assets/shaders/frag.glsl";
|
||||||
char *shader;
|
char *shader;
|
||||||
int fd;
|
int fd;
|
||||||
|
int file_size;
|
||||||
size_t bytes_read;
|
size_t bytes_read;
|
||||||
|
|
||||||
|
file_size = get_file_size(target);
|
||||||
fd = open(target, O_RDONLY);
|
fd = open(target, O_RDONLY);
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
{
|
{
|
||||||
return (perror("Error opening shader file"), NULL);
|
return (perror("Error opening shader file"), NULL);
|
||||||
}
|
}
|
||||||
shader = malloc(4096);
|
shader = malloc(file_size * sizeof(char) + 1);
|
||||||
if (!shader)
|
if (!shader)
|
||||||
{
|
{
|
||||||
return (perror("Error allocating memory for shader"), close(fd), NULL);
|
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)
|
if (bytes_read < 0)
|
||||||
{
|
{
|
||||||
return (perror("Error reading shader file"),
|
return (perror("Error reading shader file"),
|
||||||
|
|||||||
2
test.cub
2
test.cub
@ -18,7 +18,7 @@ CT ./assets/ceiling64x64.png
|
|||||||
-s a ./assets/lamp.png
|
-s a ./assets/lamp.png
|
||||||
-c b ./assets/accu.png
|
-c b ./assets/accu.png
|
||||||
-s p ./assets/plant.png
|
-s p ./assets/plant.png
|
||||||
-e g ./assets/mushroom.png
|
-e g ./assets/Run.png
|
||||||
-s m ./assets/broken_mirror.png
|
-s m ./assets/broken_mirror.png
|
||||||
-s t ./assets/test.png
|
-s t ./assets/test.png
|
||||||
-e e ./assets/flying_eye.png
|
-e e ./assets/flying_eye.png
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user