From f5c387da470ae43a2c8aff75b419e784c8bb3bc5 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Fri, 14 Apr 2023 11:58:23 +0200 Subject: it probably renders correctly now --- src/scenery.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/scenery.cpp') diff --git a/src/scenery.cpp b/src/scenery.cpp index 1696f248..778c274b 100644 --- a/src/scenery.cpp +++ b/src/scenery.cpp @@ -88,21 +88,23 @@ Vector2 scenery::ordinal_offset(Vector2b offset) const return Vector2(offset); } -Vector2 scenery::depth_offset() const +float scenery::depth_offset() const { constexpr auto inv_tile_size = 1.f/TILE_SIZE2; - Vector2 ret; - ret += Vector2(atlas->group(r).depth_offset) * inv_tile_size; + Vector2 offset; + offset += Vector2(atlas->group(r).depth_offset) * inv_tile_size; if (sc_type == scenery_type::door) { const bool is_open = frame != atlas->info().nframes-1; constexpr auto off_opened = Vector2(-1, 0); constexpr auto off_closed = Vector2(-1, 0); const auto vec = is_open ? off_opened : off_closed; - const auto offset = rotate_point(vec, rotation::N, r); - ret += offset; + const auto pt = rotate_point(vec, rotation::N, r); + offset += pt; } - ret += Vector2(tile_shader::scenery_depth_offset, 0); + float ret = 0; + ret += offset[1]*TILE_MAX_DIM + offset[0]; + ret += tile_shader::scenery_depth_offset; return ret; } -- cgit v1.2.3