From 5bce6d8d445eaf85b6c0d4647501a85cf33ae786 Mon Sep 17 00:00:00 2001 From: Alexei Kotov Date: Tue, 15 Aug 2023 23:14:21 +0300 Subject: [PATCH] Maybe load some FO4 static records --- components/esm4/common.hpp | 2 ++ components/esm4/loadstat.cpp | 8 ++++++++ components/esm4/loadstat.hpp | 1 + 3 files changed, 11 insertions(+) diff --git a/components/esm4/common.hpp b/components/esm4/common.hpp index 2badf02f44..ca43bfca56 100644 --- a/components/esm4/common.hpp +++ b/components/esm4/common.hpp @@ -669,6 +669,7 @@ namespace ESM4 SUB_BSMS = fourCC("BSMS"), SUB_FMRI = fourCC("FMRI"), SUB_FMRN = fourCC("FMRN"), + SUB_FTYP = fourCC("FTYP"), SUB_HLTX = fourCC("HLTX"), SUB_MLSI = fourCC("MLSI"), SUB_MPGN = fourCC("MPGN"), @@ -686,6 +687,7 @@ namespace ESM4 SUB_NTOP = fourCC("NTOP"), SUB_PRPS = fourCC("PRPS"), SUB_PTOP = fourCC("PTOP"), + SUB_PTRN = fourCC("PTRN"), SUB_RBPC = fourCC("RBPC"), SUB_REPT = fourCC("REPT"), SUB_SADD = fourCC("SADD"), diff --git a/components/esm4/loadstat.cpp b/components/esm4/loadstat.cpp index d3a1c86b85..640db00d1e 100644 --- a/components/esm4/loadstat.cpp +++ b/components/esm4/loadstat.cpp @@ -44,6 +44,9 @@ void ESM4::Static::load(ESM4::Reader& reader) case ESM4::SUB_EDID: reader.getZString(mEditorId); break; + case ESM4::SUB_FULL: + reader.getLocalizedString(mFullName); + break; case ESM4::SUB_MODL: reader.getZString(mModel); break; @@ -86,7 +89,12 @@ void ESM4::Static::load(ESM4::Reader& reader) case ESM4::SUB_DNAM: case ESM4::SUB_BRUS: // FONV case ESM4::SUB_RNAM: // FONV + // FO4 + case ESM4::SUB_FTYP: + case ESM4::SUB_NVNM: case ESM4::SUB_PRPS: + case ESM4::SUB_PTRN: + case ESM4::SUB_VMAD: reader.skipSubRecordData(); break; default: diff --git a/components/esm4/loadstat.hpp b/components/esm4/loadstat.hpp index 266d07b78f..3c1f047bae 100644 --- a/components/esm4/loadstat.hpp +++ b/components/esm4/loadstat.hpp @@ -47,6 +47,7 @@ namespace ESM4 std::uint32_t mFlags; // from the header, see enum type RecordFlag for details std::string mEditorId; + std::string mFullName; std::string mModel; float mBoundRadius;