From c5edaadf627e370296897c9d91c28425dd7e3c76 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 23 Mar 2024 05:58:29 +0100 Subject: [PATCH] src/object: use forward declaration for dt --- src/critter.cpp | 7 +++---- src/critter.hpp | 6 +++--- src/light.cpp | 2 +- src/light.hpp | 2 +- src/object.cpp | 6 +++--- src/object.hpp | 4 ++-- src/scenery.cpp | 2 +- src/scenery.hpp | 2 +- 8 files changed, 15 insertions(+), 16 deletions(-) diff --git a/src/critter.cpp b/src/critter.cpp index 0c1e672f..4d275149 100644 --- a/src/critter.cpp +++ b/src/critter.cpp @@ -4,7 +4,6 @@ #include "loader/loader.hpp" #include "src/world.hpp" #include "src/object.hpp" -#include "src/nanosecond.hpp" #include "shaders/shader.hpp" #include "compat/exception.hpp" #include @@ -144,7 +143,7 @@ Vector2 critter::ordinal_offset(Vector2b offset) const return Vector2(offset); } -void critter::update(size_t i, Ns dt) +void critter::update(size_t i, const Ns& dt) { if (playable) { @@ -164,12 +163,12 @@ void critter::update(size_t i, Ns dt) update_nonplayable(i, dt); } -void critter::update_nonplayable(size_t i, Ns dt) +void critter::update_nonplayable(size_t i, const Ns& dt) { (void)i; (void)dt; (void)playable; } -void critter::update_movement(size_t i, Ns dt, rotation new_r) +void critter::update_movement(size_t i, const Ns& dt, rotation new_r) { fm_assert(new_r < rotation_COUNT); fm_assert(is_dynamic()); diff --git a/src/critter.hpp b/src/critter.hpp index d3f39e87..8855813a 100644 --- a/src/critter.hpp +++ b/src/critter.hpp @@ -29,9 +29,9 @@ struct critter final : object object_type type() const noexcept override; explicit operator critter_proto() const; - void update(size_t i, Ns dt) override; - void update_movement(size_t i, Ns dt, rotation r); - void update_nonplayable(size_t i, Ns dt); + void update(size_t i, const Ns& dt) override; + void update_movement(size_t i, const Ns& dt, rotation r); + void update_nonplayable(size_t i, const Ns& dt); void set_keys(bool L, bool R, bool U, bool D); void set_keys_auto(); Vector2 ordinal_offset(Vector2b offset) const override; diff --git a/src/light.cpp b/src/light.cpp index 333fb327..0e36fd6d 100644 --- a/src/light.cpp +++ b/src/light.cpp @@ -53,7 +53,7 @@ light::operator light_proto() const } object_type light::type() const noexcept { return object_type::light; } -void light::update(size_t, Ns) {} +void light::update(size_t, const Ns&) {} bool light::is_dynamic() const { return true; } bool light::is_virtual() const { return true; } diff --git a/src/light.hpp b/src/light.hpp index 91709b1b..3d0d3546 100644 --- a/src/light.hpp +++ b/src/light.hpp @@ -33,7 +33,7 @@ struct light final : object Vector2 ordinal_offset(Vector2b offset) const override; float depth_offset() const override; object_type type() const noexcept override; - void update(size_t i, Ns dt) override; + void update(size_t i, const Ns& dt) override; bool is_dynamic() const override; bool is_virtual() const override; diff --git a/src/object.cpp b/src/object.cpp index 7f0b9afb..4339e055 100644 --- a/src/object.cpp +++ b/src/object.cpp @@ -290,7 +290,7 @@ bool object::move_to(Magnum::Vector2i delta) } template requires std::is_unsigned_v -uint32_t object::alloc_frame_time(Ns dt, T& accum, uint32_t hz, float speed) +uint32_t object::alloc_frame_time(const Ns& dt, T& accum, uint32_t hz, float speed) { constexpr auto ns_in_sec = Ns((int)1e9); constexpr auto accum_max = uint64_t{limits::max}; @@ -320,8 +320,8 @@ uint32_t object::alloc_frame_time(Ns dt, T& accum, uint32_t hz, float speed) return nframes; } -template uint32_t object::alloc_frame_time(Ns dt, uint16_t& accum, uint32_t hz, float speed); -template uint32_t object::alloc_frame_time(Ns dt, uint32_t& accum, uint32_t hz, float speed); +template uint32_t object::alloc_frame_time(const Ns& dt, uint16_t& accum, uint32_t hz, float speed); +template uint32_t object::alloc_frame_time(const Ns& dt, uint32_t& accum, uint32_t hz, float speed); void object::set_bbox_(Vector2b offset_, Vector2b bb_offset_, Vector2ub bb_size_, pass_mode pass_) { diff --git a/src/object.hpp b/src/object.hpp index 4ada39d4..7b9ab019 100644 --- a/src/object.hpp +++ b/src/object.hpp @@ -71,7 +71,7 @@ struct object virtual object_type type() const noexcept = 0; virtual bool can_activate(size_t i) const; virtual bool activate(size_t i); - virtual void update(size_t i, Ns dt) = 0; + virtual void update(size_t i, const Ns& dt) = 0; virtual void rotate(size_t i, rotation r); virtual bool can_rotate(global_coords coord, rotation new_r, rotation old_r, Vector2b offset, Vector2b bbox_offset, Vector2ub bbox_size); virtual bool can_move_to(Vector2i delta, global_coords coord, Vector2b offset, Vector2b bbox_offset, Vector2ub bbox_aize); @@ -91,7 +91,7 @@ struct object template requires std::is_unsigned_v - static uint32_t alloc_frame_time(Ns dt, T& accum, uint32_t hz, float speed); + static uint32_t alloc_frame_time(const Ns& dt, T& accum, uint32_t hz, float speed); protected: object(object_id id, class chunk& c, const object_proto& proto); diff --git a/src/scenery.cpp b/src/scenery.cpp index d95908c2..701dde1f 100644 --- a/src/scenery.cpp +++ b/src/scenery.cpp @@ -146,7 +146,7 @@ bool scenery::can_activate(size_t i) const ); } -void scenery::update(size_t i, Ns dt) +void scenery::update(size_t i, const Ns& dt) { return std::visit( [&](T& sc) { sc.update(*this, i, dt); }, diff --git a/src/scenery.hpp b/src/scenery.hpp index 25d40889..cb952320 100644 --- a/src/scenery.hpp +++ b/src/scenery.hpp @@ -97,7 +97,7 @@ struct scenery final : object { scenery_variants subtype; - void update(size_t i, Ns dt) override; + void update(size_t i, const Ns& dt) override; Vector2 ordinal_offset(Vector2b offset) const override; float depth_offset() const override; bool can_activate(size_t i) const override;