diff options
| author | Stanislaw Halik <sthalik@misaki.pl> | 2024-05-03 18:42:09 +0200 |
|---|---|---|
| committer | Stanislaw Halik <sthalik@misaki.pl> | 2024-05-05 03:16:22 +0200 |
| commit | e5a80257216d76f5033b4120f348f309ca7764f1 (patch) | |
| tree | 6544f3ada808214beb7915704f317aba98966e88 /src/critter-script.cpp | |
| parent | ba91cb1393274072721e1c31db0c7f73dc9c9db7 (diff) | |
a wip
Diffstat (limited to 'src/critter-script.cpp')
| -rw-r--r-- | src/critter-script.cpp | 64 |
1 files changed, 0 insertions, 64 deletions
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<critter>& p) -{ - (void)p; -#if fm_ASAN - volatile char foo = *reinterpret_cast<volatile const char*>(&*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<critter>& c) override; - void on_update(const std::shared_ptr<critter>& c, size_t& i, const Ns& dt) override; - void on_destroy(const std::shared_ptr<critter>& 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<critter>& 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<critter>& 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<critter>& 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<critter_script, critter>::make_empty() -{ - return &empty_script_; -} - -template class Script<critter_script, critter>; - -critter_script::~critter_script() noexcept = default; - -} // namespace floormat |
