summaryrefslogtreecommitdiffhomepage
path: root/src/critter-script.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2024-05-03 18:42:09 +0200
committerStanislaw Halik <sthalik@misaki.pl>2024-05-05 03:16:22 +0200
commite5a80257216d76f5033b4120f348f309ca7764f1 (patch)
tree6544f3ada808214beb7915704f317aba98966e88 /src/critter-script.cpp
parentba91cb1393274072721e1c31db0c7f73dc9c9db7 (diff)
a wip
Diffstat (limited to 'src/critter-script.cpp')
-rw-r--r--src/critter-script.cpp64
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