From 402041a79d47aae9f28c28692816e26ed6d59849 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Sat, 31 Oct 2026 18:10:38 +0000 Subject: [PATCH] Decompile fn_17480 (C3dActorV2::Assign) Batch #8474 by SapitoSucio: 0 byte-identical, 1 confirmed by peer review. - fn_17480 C3dActorV2::Assign: logic confirmed by peer review Peer-reviewed-by: Yommy, dori Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Contents/Models/ModelActor.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Source/Contents/Models/ModelActor.cpp b/Source/Contents/Models/ModelActor.cpp index 471d7a4e..fe5eddda 100644 --- a/Source/Contents/Models/ModelActor.cpp +++ b/Source/Contents/Models/ModelActor.cpp @@ -81,12 +81,14 @@ void C3dActorV2::Assign(const C3dModelRes& resource) { const int milliseconds = 1000 * modern.animationLength; this->duration = static_cast(milliseconds) * inverse; - for (const std::string& name : resource.rootNames) { + auto* roots = &this->roots; + resource.ForEachRootName([&resource, roots, this](const std::string& name) { + ModelNode* source = resource.FindNode(name.c_str()); auto* root = new C3dNodeV2; root->model = this; - root->Initialize(*resource.FindNode(name.c_str())); - this->roots.push_back(root); - } + root->Initialize(*source); + roots->push_back(root); + }); this->Animate(0); this->UpdateBounds();