diff options
| author | Aldrik Ramaekers <aldrik@amftech.nl> | 2022-12-08 15:41:08 +0100 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrik@amftech.nl> | 2022-12-08 15:41:08 +0100 |
| commit | f84639d4b1eda622bf7667a7223a4a335c093437 (patch) | |
| tree | fa78998a68bfaac01b1be34ab1b354b86516d6fd /objects.c | |
| parent | f8b97f2450bb789ae54a1d8d3845110342ff6134 (diff) | |
work
Diffstat (limited to 'objects.c')
| -rw-r--r-- | objects.c | 25 |
1 files changed, 6 insertions, 19 deletions
@@ -1,24 +1,7 @@ #include "include/objects.h" -box get_box_of_square(platform_window* window, vec3f position, vec3f size) { - map_info info = get_map_info(window); - float render_x = (info.tile_width * position.x) + (info.px_incline * position.y); - vec2f rendertl = (vec2f){render_x, info.tile_width * position.y - position.z*info.px_raised_per_h}; - vec2f rendertr = (vec2f){render_x + info.tile_width*size.x, info.tile_height * position.y - position.z*info.px_raised_per_h}; - vec2f renderbr = (vec2f){render_x + (info.px_incline+info.tile_width)*size.x, info.tile_height * position.y + info.tile_height*size.y - position.z*info.px_raised_per_h}; - vec2f renderbl = (vec2f){render_x + info.px_incline*size.x, info.tile_height * position.y + info.tile_height*size.y - position.z*info.px_raised_per_h}; - - position.z += size.z; - vec2f rendertl2 = (vec2f){render_x, info.tile_width * position.y - position.z*info.px_raised_per_h}; - vec2f rendertr2 = (vec2f){render_x + info.tile_width*size.x, info.tile_height * position.y - position.z*info.px_raised_per_h}; - vec2f renderbr2 = (vec2f){render_x + (info.px_incline+info.tile_width)*size.x, info.tile_height * position.y + info.tile_height*size.y - position.z*info.px_raised_per_h}; - vec2f renderbl2 = (vec2f){render_x + info.px_incline*size.x, info.tile_height * position.y + info.tile_height*size.y - position.z*info.px_raised_per_h}; - - return (box){rendertl, rendertr, renderbl, renderbr, rendertl2, rendertr2, renderbl2, renderbr2}; -} - box get_box_of_object(platform_window* window, object o) { - return get_box_of_square(window, (vec3f){o.position.x, o.position.y, o.h}, o.size); + return get_render_box_of_square(window, (vec3f){o.position.x, o.position.y, o.h}, o.size); } void render_quad_with_outline(vec2f tl, vec2f tr, vec2f bl, vec2f br) { @@ -53,12 +36,16 @@ void draw_objects_at_row(platform_window* window, int row) { for (int i = MAP_SIZE_X-1; i >= 0; i--) { object o = get_object_at_tile(i, row); - + if (row == y_of_player && x_of_player == i) { + OBJECT_RENDER_DEPTH(o.h); draw_player(window); } draw_zombies_at_tile(window, i, row); + + draw_bullets(window); + OBJECT_RENDER_DEPTH(o.h); if (!o.active) continue; box box = get_box_of_object(window, o); |
