summaryrefslogtreecommitdiffhomepage
path: root/main
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2022-10-20 21:43:39 +0200
committerStanislaw Halik <sthalik@misaki.pl>2022-10-20 21:44:32 +0200
commit767668381e1b2f76e5035e69a3d7d6f318fe2f67 (patch)
tree0c0589ed33d9af7aa3ba24dc1826060199fc0239 /main
parente4e66dd842e4a0ad38fbe1da7b651ab5c5d20f51 (diff)
simplify some camera stuff
Diffstat (limited to 'main')
-rw-r--r--main/app.hpp4
-rw-r--r--main/camera.cpp3
-rw-r--r--main/draw.cpp10
-rw-r--r--main/update.cpp2
4 files changed, 7 insertions, 12 deletions
diff --git a/main/app.hpp b/main/app.hpp
index 5da7713d..883316be 100644
--- a/main/app.hpp
+++ b/main/app.hpp
@@ -35,12 +35,12 @@ private:
using dpi_policy = Platform::Implementation::Sdl2DpiScalingPolicy;
using tile_atlas_ = std::shared_ptr<tile_atlas>;
- void update(float dt);
+ void update(double dt);
void do_key(KeyEvent::Key k, KeyEvent::Modifiers m, bool pressed, bool repeated);
void do_mouse_click(global_coords pos, int button);
- void do_camera(float dt);
+ void do_camera(double dt);
void reset_camera_offset();
void recalc_cursor_tile();
void recalc_viewport(Vector2i size);
diff --git a/main/camera.cpp b/main/camera.cpp
index be22d89c..248b1c5d 100644
--- a/main/camera.cpp
+++ b/main/camera.cpp
@@ -3,10 +3,9 @@
namespace floormat {
-void app::do_camera(float dt_)
+void app::do_camera(double dt)
{
constexpr int pixels_per_second = 768;
- const auto dt = (double)dt_;
auto camera_offset = _shader.camera_offset();
if (keys[key::camera_up])
diff --git a/main/draw.cpp b/main/draw.cpp
index 439899b6..a9517004 100644
--- a/main/draw.cpp
+++ b/main/draw.cpp
@@ -10,13 +10,10 @@ void app::drawEvent()
{
if (const float dt = timeline.previousFrameDuration(); dt > 0)
{
- constexpr float RC = 0.5f;
+ constexpr float RC = 0.1f;
const float alpha = dt/(dt + RC);
- if (_frame_time > 0)
- _frame_time = _frame_time*(1-alpha) + alpha*dt;
- else
- _frame_time = dt;
+ _frame_time = _frame_time*(1-alpha) + alpha*dt;
}
else
{
@@ -25,14 +22,13 @@ void app::drawEvent()
}
{
- const float dt = std::clamp(timeline.previousFrameDuration(), 1e-6f, 1e-1f);
+ const auto dt = std::clamp((double)timeline.previousFrameDuration(), 1e-6, 1e-1);
update(dt);
}
_shader.set_tint({1, 1, 1, 1});
{
- //GL::defaultFramebuffer.clear(GL::FramebufferClear::Color);
_framebuffer.clear(GL::FramebufferClear::Color);
_framebuffer.bind();
draw_msaa();
diff --git a/main/update.cpp b/main/update.cpp
index 4346f7af..2321fe18 100644
--- a/main/update.cpp
+++ b/main/update.cpp
@@ -21,7 +21,7 @@ void app::do_mouse_click(const global_coords pos, int button)
_editor.click_at_tile(pos, button);
}
-void app::update(float dt)
+void app::update(double dt)
{
do_camera(dt);
draw_ui();