From b7935aedec70dd4f0c40dbe948dba9a80a56a75a Mon Sep 17 00:00:00 2001 From: AL <26797547+Al12rs@users.noreply.github.com> Date: Sat, 31 Oct 2020 20:58:07 +0100 Subject: Change Alternatives vector to use a struct --- src/shared/fileregisterfwd.h | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) (limited to 'src/shared/fileregisterfwd.h') diff --git a/src/shared/fileregisterfwd.h b/src/shared/fileregisterfwd.h index 720e6e30..a3cf8132 100644 --- a/src/shared/fileregisterfwd.h +++ b/src/shared/fileregisterfwd.h @@ -42,15 +42,36 @@ using OriginID = int; constexpr FileIndex InvalidFileIndex = UINT_MAX; constexpr OriginID InvalidOriginID = -1; - -// a vector of {originId, {archiveName, order}} -// -// if a file is in an archive, archiveName is the name of the bsa and order +// if a file is in an archive, name is the name of the bsa and order // is the order of the associated plugin in the plugins list -// // is a file is not in an archive, archiveName is empty and order is usually // -1 -using AlternativesVector = std::vector>>; +struct DataArchiveOrigin +{ + std::wstring name = L""; + int order = -1; + + bool isValid() const { + return name.size() > 0; + } + + DataArchiveOrigin(std::wstring pname, int porder) + : name(pname), order(porder) {} + + DataArchiveOrigin() {} +}; + +struct FileAlternative +{ + OriginID originID = -1; + DataArchiveOrigin archive; + + bool isFromArchive() const { + return archive.isValid(); + } +}; + +using AlternativesVector = std::vector; struct DirectoryStats { -- cgit v1.3.1