summaryrefslogtreecommitdiffhomepage
path: root/src/scenery.hpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2023-03-17 15:31:57 +0100
committerStanislaw Halik <sthalik@misaki.pl>2023-03-17 23:23:12 +0100
commit72782ef1298deabbae0598d0d50159210ed64b27 (patch)
tree6107108a7733b9beda77a36dea0209fe1367d8b9 /src/scenery.hpp
parent90742e5c5abd4fb996f548e0cff6661a950057c1 (diff)
buffer flush (wip)
Diffstat (limited to 'src/scenery.hpp')
-rw-r--r--src/scenery.hpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/scenery.hpp b/src/scenery.hpp
index 61024b55..55a13bd0 100644
--- a/src/scenery.hpp
+++ b/src/scenery.hpp
@@ -18,10 +18,11 @@ struct world;
enum class scenery_type : unsigned char {
none, generic, door,
};
+constexpr inline std::size_t scenery_type_BITS = 3;
struct scenery_proto : entity_proto
{
- scenery_type sc_type : 3 = scenery_type::none;
+ scenery_type sc_type : scenery_type_BITS = scenery_type::none;
unsigned char active : 1 = false;
unsigned char closing : 1 = false;
unsigned char interactive : 1 = false;
@@ -44,6 +45,7 @@ struct scenery final : entity
bool can_activate(std::size_t i) const override;
bool activate(std::size_t i) override;
bool update(std::size_t i, float dt) override;
+ void update_bbox(Vector2b bbox_offset, Vector2ub bbox_size) override;
explicit operator scenery_proto() const;
private:
@@ -52,5 +54,6 @@ private:
};
template<> struct entity_type_<scenery> : std::integral_constant<entity_type, entity_type::scenery> {};
+template<> struct entity_type_<scenery_proto> : std::integral_constant<entity_type, entity_type::scenery> {};
} // namespace floormat