From e5a80257216d76f5033b4120f348f309ca7764f1 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Fri, 3 May 2024 18:42:09 +0200 Subject: a wip --- src/critter-script.cpp | 64 -------------------------------------------------- 1 file changed, 64 deletions(-) delete mode 100644 src/critter-script.cpp (limited to 'src/critter-script.cpp') diff --git a/src/critter-script.cpp b/src/critter-script.cpp deleted file mode 100644 index 9ab58aae..00000000 --- a/src/critter-script.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#include "critter-script.inl" -#include "compat/assert.hpp" - -namespace floormat { - -namespace { - -CORRADE_ALWAYS_INLINE -void touch_ptr(const std::shared_ptr& p) -{ - (void)p; -#if fm_ASAN - volatile char foo = *reinterpret_cast(&*p); - (void)foo; -//#else -// fm_debug_assert(p); -#endif -} - -struct empty_critter_script final : critter_script -{ - empty_critter_script(); - void on_init(const std::shared_ptr& c) override; - void on_update(const std::shared_ptr& c, size_t& i, const Ns& dt) override; - void on_destroy(const std::shared_ptr& c, script_destroy_reason reason) override; - void delete_self() noexcept override; -}; - -empty_critter_script::empty_critter_script() : critter_script{} {} -void empty_critter_script::on_init(const std::shared_ptr& p) -{ - DBG_nospace << "> init critter:" << (void*)&*p << " id:" << p->id << (p->name ? " name:" : "") << p->name; - touch_ptr(p); -} -void empty_critter_script::on_update(const std::shared_ptr& p, size_t&, const Ns&) -{ - //DBG_nospace << " update critter:" << (void*)&*p << " id:" << p->id << (p->name ? " name:" : "") << p->name; - touch_ptr(p); -} -void empty_critter_script::on_destroy(const std::shared_ptr& p, script_destroy_reason r) -{ - DBG_nospace << " destroy critter:" << (void*)&*p << " id:" << p->id << " reason:" << (int)r << (p->name ? " name:" : "") << p->name; - touch_ptr(p); -} -void empty_critter_script::delete_self() noexcept -{ - DBG_nospace << "< delete critter"; -} - -empty_critter_script empty_script_ = {}; - -} // namespace - -template <> -critter_script* Script::make_empty() -{ - return &empty_script_; -} - -template class Script; - -critter_script::~critter_script() noexcept = default; - -} // namespace floormat -- cgit v1.2.3