summaryrefslogtreecommitdiff
path: root/objects.c
diff options
context:
space:
mode:
Diffstat (limited to 'objects.c')
-rw-r--r--objects.c25
1 files changed, 6 insertions, 19 deletions
diff --git a/objects.c b/objects.c
index 72b8475..77a4d29 100644
--- a/objects.c
+++ b/objects.c
@@ -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);