diff --git a/Runtime/Character/CParticleDatabase.cpp b/Runtime/Character/CParticleDatabase.cpp index e0d0ceb2d..573561484 100644 --- a/Runtime/Character/CParticleDatabase.cpp +++ b/Runtime/Character/CParticleDatabase.cpp @@ -306,7 +306,7 @@ void CParticleDatabase::SetParticleEffectState(std::string_view name, bool activ void CParticleDatabase::SetCEXTValue(std::string_view name, int idx, float value) { if (CParticleGenInfo* info = GetParticleEffect(name)) { - static_cast(static_cast(info)->GetParticleSystem().get()) + std::static_pointer_cast(static_cast(info)->GetParticleSystem()) ->SetExternalVar(idx, value); } } diff --git a/Runtime/Character/CParticleGenInfo.hpp b/Runtime/Character/CParticleGenInfo.hpp index 40c64db70..b1f8e1992 100644 --- a/Runtime/Character/CParticleGenInfo.hpp +++ b/Runtime/Character/CParticleGenInfo.hpp @@ -106,6 +106,6 @@ public: TUniqueId GetLightId() const override; void DeleteLight(CStateManager& mgr) override; void SetModulationColor(const zeus::CColor& color) override; - const std::shared_ptr GetParticleSystem() const { return x84_system; } + const std::shared_ptr& GetParticleSystem() const { return x84_system; } }; } // namespace urde