summaryrefslogtreecommitdiff
path: root/src/render.cpp
diff options
context:
space:
mode:
authorPaweł Redman <pawel.redman@gmail.com>2018-04-01 13:46:47 +0200
committerPaweł Redman <pawel.redman@gmail.com>2018-04-01 13:46:47 +0200
commitbe628dc7f9c32ca84674c8717f07cc15a40f333c (patch)
tree09c54df1ce9e5905a1a3d90434b8c9fea021eb1b /src/render.cpp
parent6c46e70e3576ae9d27c3ad5c8c95c3198c9be501 (diff)
Improve selecting.
Diffstat (limited to 'src/render.cpp')
-rw-r--r--src/render.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/render.cpp b/src/render.cpp
index 96153f9..beda97b 100644
--- a/src/render.cpp
+++ b/src/render.cpp
@@ -200,7 +200,7 @@ rectf_t state_t::window_in_world_space(void)
return window_bounds(window);
}
-bool entity_order(const world::entity_t *x, const world::entity_t *y)
+bool rendering_order(const world::entity_t *x, const world::entity_t *y)
{
if (x->render_layer < y->render_layer)
return true;
@@ -210,6 +210,11 @@ bool entity_order(const world::entity_t *x, const world::entity_t *y)
return x->render_bounds[1][1] < y->render_bounds[1][1];
}
+bool visibility_order(const world::entity_t *x, const world::entity_t *y)
+{
+ return !rendering_order(x, y);
+}
+
void state_t::render(game::state_t *game)
{
rectf_t bounds;
@@ -222,7 +227,7 @@ void state_t::render(game::state_t *game)
sectors[1] = world::sector_index_at(bounds[1]);
ents = game->world.get_render_entities(bounds);
- ents.sort(entity_order);
+ ents.sort(rendering_order);
ent = ents.begin();
for (world::coord_t sy = sectors[0][1]; sy <= sectors[1][1]; sy++)