From 42c6b3b99361745e061b8e4773e358ef6072a6a7 Mon Sep 17 00:00:00 2001 From: Alexei Kotov Date: Thu, 17 Aug 2023 21:36:49 +0300 Subject: [PATCH] Use VER_100 named constant, note precautions --- components/esm4/loadnavi.cpp | 11 +++++++---- components/esm4/loadnavm.cpp | 4 +++- 2 files changed, 10 insertions(+), 5 deletions(-) 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;