summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2022-10-18 08:56:28 +0200
committerStanislaw Halik <sthalik@misaki.pl>2022-10-18 08:56:28 +0200
commitbf018e10311a8a0ea2d79d2dffab0cb7a24856f2 (patch)
tree5e92cbf37446dddca555f83fb43dc562d166e990
parentbf871a4ddf82c5a44837fa34e15ab014f6cb4721 (diff)
a
-rw-r--r--main/camera.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/main/camera.cpp b/main/camera.cpp
index 27e9bdd2..3bef7c1d 100644
--- a/main/camera.cpp
+++ b/main/camera.cpp
@@ -67,12 +67,14 @@ global_coords app::pixel_to_tile(Vector2d position) const
std::array<std::int16_t, 4> app::get_draw_bounds() const noexcept
{
const auto win = Vector2d(windowSize());
- const auto p00 = pixel_to_tile(Vector2d{-dTILE_SIZE[0], -dTILE_SIZE[1]}).chunk();
- const auto p10 = pixel_to_tile(Vector2d{win[0] + dTILE_SIZE[0], 0}).chunk();
- const auto p01 = pixel_to_tile(Vector2d{0, win[1] + dTILE_SIZE[1]}).chunk();
- const auto p11 = pixel_to_tile(win + Vector2d{dTILE_SIZE[0], dTILE_SIZE[1]}).chunk();
+ const auto p00 = pixel_to_tile(Vector2d{0, 0}).chunk();
+ const auto p10 = pixel_to_tile(Vector2d{win[0]-1, 0}).chunk();
+ const auto p01 = pixel_to_tile(Vector2d{0, win[1]-1}).chunk();
+ const auto p11 = pixel_to_tile(Vector2d{win[0]-1, win[1]-1}).chunk();
+
using limits = std::numeric_limits<std::int16_t>;
auto x0 = limits::max(), x1 = limits::min(), y0 = limits::max(), y1 = limits::min();
+
for (const chunk_coords& p : { p00, p10, p01, p11 })
{
x0 = std::min(x0, p.x);