From 7d421d0069dbc8bcf948a29d39c3f8e65de19b33 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Fri, 26 May 2023 11:51:38 +0200 Subject: draw, editor, main: add toggling vobj display --- draw/anim.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'draw/anim.cpp') diff --git a/draw/anim.cpp b/draw/anim.cpp index 87003f82..03f6df76 100644 --- a/draw/anim.cpp +++ b/draw/anim.cpp @@ -55,7 +55,7 @@ void anim_mesh::add_clickable(tile_shader& shader, const Vector2i& win_size, } } -void anim_mesh::draw(tile_shader& shader, const Vector2i& win_size, chunk& c, std::vector& list) +void anim_mesh::draw(tile_shader& shader, const Vector2i& win_size, chunk& c, std::vector& list, bool draw_vobjs) { constexpr auto quad_index_count = 6; @@ -78,6 +78,7 @@ void anim_mesh::draw(tile_shader& shader, const Vector2i& win_size, chunk& c, st fm_assert(x.e); add_clickable(shader, win_size, x.data.in, x.data, list); auto& e = *x.e; + auto& atlas = *e.atlas; fm_assert(e.is_dynamic() == (x.mesh_idx == (uint32_t)-1)); if (!e.is_dynamic()) @@ -88,6 +89,10 @@ void anim_mesh::draw(tile_shader& shader, const Vector2i& win_size, chunk& c, st } else { + if (!draw_vobjs) [[likely]] + if (e.is_virtual()) [[unlikely]] + continue; + const auto depth0 = e.depth_offset(); const auto depth = tile_shader::depth_value(e.coord.local(), depth0); draw(shader, atlas, e.r, e.frame, e.coord.local(), e.offset, depth); -- cgit v1.2.3