From 2f3be64ddfcd5beac009b56cee34812e20849ef1 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Sat, 28 Oct 2023 14:58:27 +0200 Subject: remove img from sprite struct --- .vscode/settings.json | 6 ++++++ build/zombies.exe | Bin 1979153 -> 1979153 bytes include/sprite.h | 3 ++- src/game.c | 4 ---- src/players.c | 2 +- src/sprite.c | 9 ++++----- src/zombies.c | 2 +- 7 files changed, 14 insertions(+), 12 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..6386813 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "files.associations": { + "*.ejs": "html", + "sprite.h": "c" + } +} \ No newline at end of file diff --git a/build/zombies.exe b/build/zombies.exe index ce05408..214f186 100644 Binary files a/build/zombies.exe and b/build/zombies.exe differ diff --git a/include/sprite.h b/include/sprite.h index a5e04d8..7e0fa41 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -4,13 +4,14 @@ #include typedef struct t_sprite { - image* image; int current_frame; int frame_count; int frame_width; int frame_height; float sec_per_frame; float time; + int img_width; + int img_height; } sprite; typedef struct t_sprite_frame { diff --git a/src/game.c b/src/game.c index 6bb0301..a9a91c1 100644 --- a/src/game.c +++ b/src/game.c @@ -251,10 +251,6 @@ void update_client(platform_window* window) { case MESSAGE_USER_LIST: { protocol_user_list* msg_players = (protocol_user_list*)msg; memcpy(players, msg_players->players, sizeof(players)); - - for (int i = 0; i < MAX_PLAYERS; i++) { - players[i].sprite.image = img_player; - } } break; case MESSAGE_ZOMBIE_LIST: { diff --git a/src/players.c b/src/players.c index 03ee4e0..51418ed 100644 --- a/src/players.c +++ b/src/players.c @@ -249,7 +249,7 @@ void draw_players(platform_window* window) { render_quad_with_outline(box.bl_u, box.br_u, box.bl_d, box.br_d, rgb(200,150,120)); */ sprite_frame frame = sprite_get_frame(&players[i].sprite); - renderer->render_image_quad_partial(players[i].sprite.image, + renderer->render_image_quad_partial(img_player, box.tl_u.x, box.tl_u.y, box.bl_d.x, box.bl_d.y, box.br_d.x, box.br_d.y, diff --git a/src/sprite.c b/src/sprite.c index fa6f2e9..c905f7a 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -6,7 +6,8 @@ sprite create_sprite(image* img, int frame_count, int fwidth, int fheight, float s.frame_count = frame_count; s.frame_height = fheight; s.frame_width = fwidth; - s.image = img; + s.img_width = img->width; + s.img_height = img->height; s.sec_per_frame = sec_per_frame; s.time = 0.0f; return s; @@ -24,10 +25,8 @@ void update_sprite(sprite* sprite) { sprite_frame sprite_get_frame(sprite* sprite) { sprite_frame frame = {0}; - if (!sprite->image->loaded) return frame; - - int columns = sprite->image->width / sprite->frame_width; - int rows = sprite->image->height / sprite->frame_height; + int columns = sprite->img_width / sprite->frame_width; + int rows = sprite->img_height/ sprite->frame_height; float column_percentage = 1.0f / columns; float row_percentage = 1.0f / rows; diff --git a/src/zombies.c b/src/zombies.c index 55c0c57..c72e04b 100644 --- a/src/zombies.c +++ b/src/zombies.c @@ -85,7 +85,7 @@ void draw_spawners(platform_window* window) { tile tile = loaded_map.heightmap[spawner.position.y][spawner.position.x]; sprite_frame frame = sprite_get_frame(&spawner.sprite); - renderer->render_image_quad_partial(spawner.sprite.image, + renderer->render_image_quad_partial(img_spawner, tile.tl.x, tile.tl.y, tile.bl.x, tile.bl.y, tile.br.x, tile.br.y, -- cgit v1.2.3-70-g09d2