diff --git a/assets/accu.png b/assets/accu.png new file mode 100644 index 0000000..053b49b Binary files /dev/null and b/assets/accu.png differ diff --git a/assets/bricks1.png b/assets/bricks1.png new file mode 100644 index 0000000..79d513f Binary files /dev/null and b/assets/bricks1.png differ diff --git a/assets/bricks2.png b/assets/bricks2.png new file mode 100644 index 0000000..2e8f917 Binary files /dev/null and b/assets/bricks2.png differ diff --git a/assets/paving1.png b/assets/paving1.png new file mode 100644 index 0000000..1bf8357 Binary files /dev/null and b/assets/paving1.png differ diff --git a/assets/shaders/frag.glsl b/assets/shaders/frag.glsl index 36d4016..776957f 100644 --- a/assets/shaders/frag.glsl +++ b/assets/shaders/frag.glsl @@ -31,7 +31,7 @@ void main() case 1: texColor = texture(Texture1, TexCoord); break; case 2: texColor = texture(Texture2, TexCoord); break; case 3: texColor = texture(Texture3, TexCoord); break; - default: texColor = vec4(1.0, 0.0, 0.0, 1.0); break; + default: texColor = vec4(0.0, 0.0, 0.0, 0.0); break; } if (TexIndex == 1) { diff --git a/assets/stonewall1.png b/assets/stonewall1.png new file mode 100644 index 0000000..ba89e7e Binary files /dev/null and b/assets/stonewall1.png differ diff --git a/assets/stonewall256.png b/assets/stonewall256.png new file mode 100644 index 0000000..bc1bdad Binary files /dev/null and b/assets/stonewall256.png differ diff --git a/assets/test.png b/assets/test.png new file mode 100644 index 0000000..657300d Binary files /dev/null and b/assets/test.png differ diff --git a/assets/tiles1.png b/assets/tiles1.png new file mode 100644 index 0000000..7df1287 Binary files /dev/null and b/assets/tiles1.png differ diff --git a/assets/tiles2.png b/assets/tiles2.png new file mode 100644 index 0000000..cf93e24 Binary files /dev/null and b/assets/tiles2.png differ diff --git a/assets/tiles256.png b/assets/tiles256.png new file mode 100644 index 0000000..1b74c0c Binary files /dev/null and b/assets/tiles256.png differ diff --git a/assets/tiles3.png b/assets/tiles3.png new file mode 100644 index 0000000..a4b2052 Binary files /dev/null and b/assets/tiles3.png differ diff --git a/assets/tiles4.png b/assets/tiles4.png new file mode 100644 index 0000000..81e4ebe Binary files /dev/null and b/assets/tiles4.png differ diff --git a/src/game.c b/src/game.c index c0e67ef..93d7fcf 100644 --- a/src/game.c +++ b/src/game.c @@ -6,7 +6,7 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/04/15 15:46:08 by qmennen #+# #+# */ -/* Updated: 2025/05/25 21:02:05 by whaffman ######## odam.nl */ +/* Updated: 2025/05/27 15:32:27 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -79,10 +79,26 @@ void draw_battery(mlx_image_t *img, float battery) void handle_battery(t_game *game) { + static mlx_image_t *bat_img = NULL; + game->player->battery -= game->screen->mlx->delta_time / 50; - if (game->player->battery < 0) - game->player->battery = 0.001f; + if (game->player->battery < 0.20) + { + //if (bat_img == NULL) + bat_img = mlx_put_string( + game->screen->mlx, "Battery LOW!", 960, 512); + } + else + { + if (bat_img != NULL) + { + mlx_delete_image(game->screen->mlx, bat_img); + bat_img = NULL; + } + + } draw_battery(game->screen->minimap, game->player->battery); + } void handle_record(t_game *game) diff --git a/src/render/render_sprite.c b/src/render/render_sprite.c index b919408..e84f73d 100644 --- a/src/render/render_sprite.c +++ b/src/render/render_sprite.c @@ -6,7 +6,7 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/05/08 12:23:17 by qmennen #+# #+# */ -/* Updated: 2025/05/23 15:12:57 by whaffman ######## odam.nl */ +/* Updated: 2025/05/26 12:53:24 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -17,7 +17,7 @@ static void get_start_end(t_game *game, { double sprite_scale; - sprite_scale = 16.0 / sprite->dist; + sprite_scale = game->screen->height / sprite->dist / sprite->texture->height; start->x = 0.5 * (game->screen->width * (1.0 + sprite->cam_frac) - sprite->texture->width / sprite->n_frames * sprite_scale); start->y = 0.5 * (game->screen->height diff --git a/src/util/initialize.c b/src/util/initialize.c index a059230..a95724a 100644 --- a/src/util/initialize.c +++ b/src/util/initialize.c @@ -6,7 +6,7 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/04/22 17:08:26 by qmennen #+# #+# */ -/* Updated: 2025/05/25 13:41:32 by whaffman ######## odam.nl */ +/* Updated: 2025/05/26 12:30:34 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -18,17 +18,17 @@ t_sprite make_sprite(mlx_texture_t *texture, double x, double y, int collectible ft_memset(&sprite, 0, sizeof(t_sprite)); sprite.texture = texture; - if (sprite.texture->width % 64 != 0) - { - ft_putstr_fd("Error: Texture width is not a multiple of 64\n", 2); - exit(EXIT_FAILURE); - } - if (sprite.texture->height != 64) - { - ft_putstr_fd("Error: Texture height must be 64\n", 2); - exit(EXIT_FAILURE); - } - sprite.n_frames = sprite.texture->width / 64; + // if (sprite.texture->width % 64 != 0) + // { + // ft_putstr_fd("Error: Texture width is not a multiple of 64\n", 2); + // exit(EXIT_FAILURE); + // } + // if (sprite.texture->height != 64) + // { + // ft_putstr_fd("Error: Texture height must be 64\n", 2); + // exit(EXIT_FAILURE); + // } + sprite.n_frames = sprite.texture->width / sprite.texture->height; sprite.pos.x = x; sprite.pos.y = y; sprite.visible = 1; diff --git a/test.cub b/test.cub index 95e2da0..d56d505 100644 --- a/test.cub +++ b/test.cub @@ -1,10 +1,10 @@ -NO ./assets/bricks_cyan_x64.png +NO ./assets/tiles256.png -WE ./assets/bricks_green_x64.png +WE ./assets/bricks2.png -SO ./assets/bricks_orange_x64.png +SO ./assets/stonewall256.png EA ./assets/bricksx64.png F 90,30,30 @@ -12,28 +12,29 @@ F 90,30,30 C 100,100,200 -FT ./assets/floor.png +FT ./assets/tiles3.png CT ./assets/ceiling64x64.png -s a ./assets/lamp.png --c b ./assets/battery.png +-c b ./assets/accu.png -s p ./assets/plant.png -s m ./assets/broken_mirror.png +-s t ./assets/test.png 1111111 111 1111 111111 1111111111 111111 1000001110111001 100001 1000000001 10001 -1001000000000001 100001 100000110111100011 -10b0001110000001110011111111 110000001000000001 -1000001 1000100a000010000001 100000001000000001 -100m00111000100000b00000000111110p00000100p00m001 -10b0000000001111111111100000000000111111000000001 -1000000W00001 1000011111111 1000001001 +10010000000b0001 100001 100000110111100011 +10b0001110000001110011111111 1100b0001000000001 +1000001 1000100a000010000001 10000000100b000001 +100m00111000100000b00000b00111110p00000100p00m001 +10b000bb00001111111111100000000000111111000000001 +1000t0bW00001 1000011111111 1000001001 10p0011111001 111111100001 1111111111110001 100001 1001 1p00000000011111111000010111 10b01 -111111 1001 1000001000000000001000000101 100001 - 1001 10000p1111111111111000010001 10000m1 +111111 1001 10000010000000000010b0000101 100001 + 1b01 10000p1111111111111000010001 10b00m1 1001 100000000000000000000111b001 100001 - 1001 1b00000000000p00000011 11111 100001 + 1001 1b000000b0000p00000011 11111 100001 10011111111100111111111111111111001110001 1000000000000000000000b000000000000000001 111111b0111111101100111100011101011111111