diff --git a/components/nif/nifkey.hpp b/components/nif/nifkey.hpp index 48c53181a4..85fc70d527 100644 --- a/components/nif/nifkey.hpp +++ b/components/nif/nifkey.hpp @@ -57,6 +57,14 @@ struct KeyMapT { if (morph && nif->getVersion() >= NIFStream::generateVersion(10,1,0,106)) nif->getString(); // Frame name + if (morph && nif->getVersion() > NIFStream::generateVersion(10,1,0,0)) + { + if (nif->getVersion() >= NIFStream::generateVersion(10,1,0,104) && + nif->getVersion() <= NIFStream::generateVersion(20,1,0,2) && nif->getBethVersion() < 10) + nif->getFloat(); // Legacy weight + return; + } + size_t count = nif->getUInt(); if (count != 0 || morph) @@ -103,13 +111,6 @@ struct KeyMapT { { nif->file->fail("Unhandled interpolation type: " + std::to_string(mInterpolationType)); } - - if (morph && nif->getVersion() > NIFStream::generateVersion(10,1,0,0)) - { - if (nif->getVersion() >= NIFStream::generateVersion(10,1,0,104) && - nif->getVersion() <= NIFStream::generateVersion(20,1,0,2) && nif->getBethVersion() < 10) - nif->getFloat(); // Legacy weight - } } private: