summaryrefslogtreecommitdiffhomepage
path: root/src/critter.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2024-07-16 12:27:46 +0200
committerStanislaw Halik <sthalik@misaki.pl>2024-07-16 12:27:46 +0200
commit47b9691f9bde62ea62f6601503997d93ed7ab64c (patch)
treef0e08b4f37ced066ac18defdf233eec0e91b6cc0 /src/critter.cpp
parent6aabc74a535da1f2d5cf866346b31939d097cbac (diff)
wa
Diffstat (limited to 'src/critter.cpp')
-rw-r--r--src/critter.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/critter.cpp b/src/critter.cpp
index a05ea06f..b107394d 100644
--- a/src/critter.cpp
+++ b/src/critter.cpp
@@ -12,6 +12,7 @@
#include "compat/map.hpp"
#include "compat/iota.hpp"
#include "compat/exception.hpp"
+#include "compat/borrowed-ptr.inl"
#include <cmath>
#include <utility>
#include <array>
@@ -393,12 +394,12 @@ Vector2 critter::ordinal_offset(Vector2b offset) const
return Vector2(offset);
}
-void critter::update(const std::shared_ptr<object>& ptrʹ, size_t& i, const Ns& dt)
+void critter::update(const bptr<object>& ptrʹ, size_t& i, const Ns& dt)
{
fm_debug_assert(&*ptrʹ == this);
check_script_update_1(script.state());
- script->on_update(std::static_pointer_cast<critter>(ptrʹ), i, dt);
+ script->on_update(static_pointer_cast<critter>(ptrʹ), i, dt);
#if 0 // for now, objects can't delete themselves
if (check_script_update_2(script.state())) [[unlikely]]
return;
@@ -566,14 +567,14 @@ critter::~critter() noexcept
{
}
-void critter::init_script(const std::shared_ptr<object>& ptrʹ)
+void critter::init_script(const bptr<object>& ptrʹ)
{
- script.do_initialize(std::static_pointer_cast<critter>(ptrʹ));
+ script.do_initialize(static_pointer_cast<critter>(ptrʹ));
}
-void critter::destroy_script_pre(const std::shared_ptr<object>& ptrʹ, script_destroy_reason r)
+void critter::destroy_script_pre(const bptr<object>& ptrʹ, script_destroy_reason r)
{
- script.do_destroy_pre(std::static_pointer_cast<critter>(ptrʹ), r);
+ script.do_destroy_pre(static_pointer_cast<critter>(ptrʹ), r);
}
void critter::destroy_script_post()