diff --git a/Source/Contents/Actors/Skill.cpp b/Source/Contents/Actors/Skill.cpp index f7b13721f..60693b16d 100644 --- a/Source/Contents/Actors/Skill.cpp +++ b/Source/Contents/Actors/Skill.cpp @@ -310,10 +310,7 @@ void CSkill::ShowModel(const char* modelName) { this->m_model->CopyVolumes(resource->volumes); this->m_model->SetSpeed(1.0f); const vector3d position = this->render.position; - this->m_model->position[0] = position.x; - this->m_model->position[1] = position.y; - this->m_model->position[2] = position.z; - this->m_model->dirty = 1; + this->m_model->SetPosition(position); this->m_model->Assign(*resource); this->m_model->Animate(3.0); this->m_model->occlusionEnabled = 0; diff --git a/Source/Contents/Models/ModelActor.h b/Source/Contents/Models/ModelActor.h index 6a1cb6e56..4c76ae962 100644 --- a/Source/Contents/Models/ModelActor.h +++ b/Source/Contents/Models/ModelActor.h @@ -3,6 +3,7 @@ #include "Contents/Models/ModelNode.h" #include "Contents/Models/ModelSpatial.h" +#include "Utility/Math/Vector3d.h" class C3dActor { public: @@ -24,6 +25,14 @@ public: void CopyVolumes(const std::list& source); void Fade(); + // INLINED + void SetPosition(const vector3d& value) { + this->position[0] = value.x; + this->position[1] = value.y; + this->position[2] = value.z; + this->dirty = 1; + } + /* 0004 */ float position[3]; /* 0010 */ float rotation[3]; /* 001C */ float scale[3];