From 29bdd5f2170b9d46a8b3b0973c4c0845d6a2b61e Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Fri, 10 Mar 2023 18:02:29 +0100 Subject: editor: reduce struct character size --- editor/character.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'editor/character.cpp') diff --git a/editor/character.cpp b/editor/character.cpp index a971434d..845f8345 100644 --- a/editor/character.cpp +++ b/editor/character.cpp @@ -62,10 +62,11 @@ character_wip::~character_wip() = default; int character_wip::allocate_frame_time(float dt) { - delta += dt; - auto ret = (int)(delta*framerate); - delta -= ret; - delta = std::fmax(0.f, delta); + int d = int(delta) + int(65535u * dt); + constexpr int framerate_ = 65535/framerate; + static_assert(framerate_ > 0); + auto ret = d / framerate_; + delta = (std::uint16_t)std::clamp(d - ret*65535, 0, 65535); return ret; } -- cgit v1.2.3