diff --git a/components/esm4/loadnavi.cpp b/components/esm4/loadnavi.cpp index 6c8fe94b76..09868d258f 100644 --- a/components/esm4/loadnavi.cpp +++ b/components/esm4/loadnavi.cpp @@ -249,8 +249,9 @@ void ESM4::Navigation::load(ESM4::Reader& reader) } case ESM4::SUB_NVPP: { - // FO4 - if (esmVer == 0x3F800000) + // FIXME: this is both the version for FO4 and for some TES4 files + // How to distinguish? + if (esmVer == ESM::VER_100) { reader.skipSubRecordData(); break; @@ -339,9 +340,11 @@ void ESM4::Navigation::load(ESM4::Reader& reader) } case ESM4::SUB_NVMI: // multiple { - if (esmVer == ESM::VER_094 || esmVer == ESM::VER_170 || isFONV || esmVer == 0x3F800000) + // Can only read TES4 navmesh data + // Note FO4 FIXME above + if (esmVer == ESM::VER_094 || esmVer == ESM::VER_170 || isFONV || esmVer == ESM::VER_100) { - reader.skipSubRecordData(); // FIXME: FO3+ have different form of NavMeshInfo + reader.skipSubRecordData(); break; } diff --git a/components/esm4/loadnavm.cpp b/components/esm4/loadnavm.cpp index 20fcf90982..6298964f28 100644 --- a/components/esm4/loadnavm.cpp +++ b/components/esm4/loadnavm.cpp @@ -211,7 +211,9 @@ void ESM4::NavMesh::load(ESM4::Reader& reader) { case ESM4::SUB_NVNM: { - if (esmVer == 0x3F800000) + // See FIXME in ESM4::Navigation::load. + // FO4 updates the format + if (esmVer == ESM::VER_100) { reader.skipSubRecordData(); break;