From 361db1853c6e94b19a755cd7db8ebc1cf5ee7106 Mon Sep 17 00:00:00 2001 From: David Markowitz Date: Mon, 22 Jun 2026 00:13:58 -0700 Subject: [PATCH] fixes --- dGame/dComponents/ScriptComponent.h | 4 +++- dScripts/ai/FV/Dragon_Instance/FvDragonInstanceServer.cpp | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/dGame/dComponents/ScriptComponent.h b/dGame/dComponents/ScriptComponent.h index 67832506..aa572b77 100644 --- a/dGame/dComponents/ScriptComponent.h +++ b/dGame/dComponents/ScriptComponent.h @@ -51,8 +51,10 @@ public: // Registers a message from a script to be listened for on the parent object template void RegisterMsg(ScriptClass* scriptThis, bool (ScriptClass::*scriptHandler)(Entity&, DerivedMsgType&)) { + static_assert(std::is_base_of_v, "DerivedMsgType must derive from GameMessages::GameMsg base class."); const auto boundMsg = std::bind(scriptHandler, scriptThis, std::placeholders::_1, std::placeholders::_2); - const auto castWrapper = [this, boundMsg](GameMessages::GameMsg& msg) { + auto* const parent = m_Parent; + const auto castWrapper = [parent, boundMsg](GameMessages::GameMsg& msg) { return boundMsg(*m_Parent, static_cast(msg)); }; DerivedMsgType msg; diff --git a/dScripts/ai/FV/Dragon_Instance/FvDragonInstanceServer.cpp b/dScripts/ai/FV/Dragon_Instance/FvDragonInstanceServer.cpp index 8455f027..3e63d6b0 100644 --- a/dScripts/ai/FV/Dragon_Instance/FvDragonInstanceServer.cpp +++ b/dScripts/ai/FV/Dragon_Instance/FvDragonInstanceServer.cpp @@ -9,5 +9,6 @@ void FvDragonInstanceServer::OnPlayerLoaded(Entity* self, Entity* player) { destComp->SetHealth(destComp->GetMaxHealth()); destComp->SetArmor(destComp->GetMaxArmor()); destComp->SetImagination(destComp->GetMaxImagination()); + Game::entityManager->SerializeEntity(player); } }