Added compression to asset packs
This commit is contained in:
1 parent
c30f159429
commit
cdea6c4b64
7 files changed
+43
-6
No files matched your search
@@ -64,6 +64,7 @@
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>Cabinet.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
@@ -81,6 +82,7 @@
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>Cabinet.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -6,6 +6,11 @@
|
||||
#include <filesystem>
|
||||
#include <set>
|
||||
#include <Windows.h>
|
||||
#include <compressapi.h>
|
||||
|
||||
#define COMPRESS 1
|
||||
|
||||
COMPRESSOR_HANDLE cHandle;
|
||||
|
||||
void Log(const std::string& in) {
|
||||
std::cout << "[NFPackCreator] Info: " << in << "\n";
|
||||
@@ -60,7 +65,18 @@ void writeFile(const std::string& filename, const std::string& in, bool encrypte
|
||||
}
|
||||
write.insert(0, "NFEF");
|
||||
}
|
||||
#if COMPRESS
|
||||
Log("Compressing...");
|
||||
size_t compSize;
|
||||
Compress(cHandle, &write[0], write.size(), NULL, 0, &compSize);
|
||||
char* buff = new char[compSize];
|
||||
Compress(cHandle, &write[0], write.size(), buff, compSize, &compSize);
|
||||
|
||||
out.write(buff, compSize);
|
||||
delete[] buff;
|
||||
#else
|
||||
out << write;
|
||||
#endif
|
||||
out.close();
|
||||
}
|
||||
|
||||
@@ -93,6 +109,8 @@ int main(int argc, char* argv[]) {
|
||||
}
|
||||
}
|
||||
|
||||
CreateCompressor(COMPRESS_ALGORITHM_XPRESS_HUFF, NULL, &cHandle);
|
||||
|
||||
std::set<std::string> extensions;
|
||||
extensions.insert({ "shader", "obj", "png", "jpg", "ttf", "wav" });
|
||||
|
||||
|
||||
Reference in new issue
Block a user