From 37450d0588ffd9cc2ca235f44979261c696b232e Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Wed, 11 Nov 2026 12:58:23 +0000 Subject: [PATCH] Decompile fn_24304 (CSkill::ShowModel) Batch #16856 by eAthena: 0 byte-identical, 1 confirmed by peer review. - fn_24304 CSkill::ShowModel: logic confirmed by peer review Peer-reviewed-by: ragnarok-clanker, Yommy, br4yan Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Contents/Actors/Skill.cpp | 5 +---- Source/Contents/Models/ModelActor.h | 9 +++++++++ 2 files changed, 10 insertions(+), 4 deletions(-) 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];