summaryrefslogtreecommitdiff
path: root/tools/knarc/Narc.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/knarc/Narc.h')
-rw-r--r--tools/knarc/Narc.h86
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;
};