diff options
Diffstat (limited to 'tools/knarc/Narc.h')
-rw-r--r-- | tools/knarc/Narc.h | 86 |
1 files changed, 43 insertions, 43 deletions
diff --git a/tools/knarc/Narc.h b/tools/knarc/Narc.h index 4516d2d5..7d9cc117 100644 --- a/tools/knarc/Narc.h +++ b/tools/knarc/Narc.h @@ -5,7 +5,7 @@ #include <string> #include <vector> -#if __GNUC__ <= 7 +#if (__GNUC__ <= 7) && !defined _MSC_VER #include <experimental/filesystem> namespace fs = std::experimental::filesystem; #else @@ -15,79 +15,79 @@ namespace fs = std::filesystem; enum class NarcError { - None, - InvalidInputFile, - InvalidHeaderId, - InvalidByteOrderMark, - InvalidVersion, - InvalidHeaderSize, - InvalidChunkCount, - InvalidFileAllocationTableId, - InvalidFileAllocationTableReserved, - InvalidFileNameTableId, - InvalidFileNameTableEntryId, - InvalidFileImagesId, - InvalidOutputFile + None, + InvalidInputFile, + InvalidHeaderId, + InvalidByteOrderMark, + InvalidVersion, + InvalidHeaderSize, + InvalidChunkCount, + InvalidFileAllocationTableId, + InvalidFileAllocationTableReserved, + InvalidFileNameTableId, + InvalidFileNameTableEntryId, + InvalidFileImagesId, + InvalidOutputFile }; struct Header { - uint32_t Id; - uint16_t ByteOrderMark; - uint16_t Version; - uint32_t FileSize; - uint16_t ChunkSize; - uint16_t ChunkCount; + uint32_t Id; + uint16_t ByteOrderMark; + uint16_t Version; + uint32_t FileSize; + uint16_t ChunkSize; + uint16_t ChunkCount; }; struct FileAllocationTable { - uint32_t Id; - uint32_t ChunkSize; - uint16_t FileCount; - uint16_t Reserved; + uint32_t Id; + uint32_t ChunkSize; + uint16_t FileCount; + uint16_t Reserved; }; struct FileAllocationTableEntry { - uint32_t Start; - uint32_t End; + uint32_t Start; + uint32_t End; }; struct FileNameTable { - uint32_t Id; - uint32_t ChunkSize; + uint32_t Id; + uint32_t ChunkSize; }; struct FileNameTableEntry { - uint32_t Offset; - uint16_t FirstFileId; - uint16_t Utility; + uint32_t Offset; + uint16_t FirstFileId; + uint16_t Utility; }; struct FileImages { - uint32_t Id; - uint32_t ChunkSize; + uint32_t Id; + uint32_t ChunkSize; }; class Narc { - public: - NarcError GetError() const; +public: + NarcError GetError() const; - bool Pack(const fs::path& fileName, const fs::path& directory); - bool Unpack(const fs::path& fileName, const fs::path& directory); + bool Pack(const fs::path& fileName, const fs::path& directory); + bool Unpack(const fs::path& fileName, const fs::path& directory); - private: - NarcError error = NarcError::None; +private: + NarcError error = NarcError::None; - void AlignDword(std::ofstream& ofs, uint8_t paddingChar); + void AlignDword(std::ofstream& ofs, uint8_t paddingChar); - bool Cleanup(std::ifstream& ifs, const NarcError& e); - bool Cleanup(std::ofstream& ofs, const NarcError& e); + bool Cleanup(std::ifstream& ifs, const NarcError& e); + bool Cleanup(std::ofstream& ofs, const NarcError& e); - std::vector<fs::directory_entry> OrderedDirectoryIterator(const fs::path& path, bool recursive) const; + std::vector<fs::directory_entry> OrderedDirectoryIterator(const fs::path& path, bool recursive) const; }; |