diff options
Diffstat (limited to 'tools/asset_packer.cc')
| -rw-r--r-- | tools/asset_packer.cc | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/tools/asset_packer.cc b/tools/asset_packer.cc index 6162f19..4b7e9dd 100644 --- a/tools/asset_packer.cc +++ b/tools/asset_packer.cc @@ -350,12 +350,14 @@ static bool ProcessImageFile(const std::string& full_path, // Returns false (without populating *out) if encoding fails, the compressed // payload is not smaller, or the round-trip mismatches. static bool TryAnsCompress(const std::vector<uint8_t>& raw, - const uint32_t* hist, - std::vector<uint8_t>* out) { - if (raw.empty()) return false; + const uint32_t* hist, std::vector<uint8_t>* out) { + if (raw.empty()) + return false; std::vector<uint8_t> enc; - if (!ans::Encode(raw.data(), raw.size(), &enc, hist)) return false; - if (enc.size() >= raw.size()) return false; + if (!ans::Encode(raw.data(), raw.size(), &enc, hist)) + return false; + if (enc.size() >= raw.size()) + return false; std::vector<uint8_t> verify(raw.size()); size_t got = 0; if (!ans::Decode(enc.data(), enc.size(), verify.data(), verify.size(), &got, @@ -373,9 +375,11 @@ static bool TryAnsCompress(const std::vector<uint8_t>& raw, template <typename T, typename FormatFn> static void EmitArrayInit(FILE* f, const T* data, size_t n, FormatFn fmt) { for (size_t i = 0; i < n; ++i) { - if (i % 12 == 0) fprintf(f, "\n "); + if (i % 12 == 0) + fprintf(f, "\n "); fmt(f, data[i]); - if (i + 1 != n) fprintf(f, ", "); + if (i + 1 != n) + fprintf(f, ", "); } fprintf(f, "\n"); } @@ -531,12 +535,15 @@ int main(int argc, char* argv[]) { uint32_t ans_ascii_hist[256] = {}; if (!disk_load_mode) { for (const auto& info : asset_build_infos) { - if (info.asset_type != "WGSL") continue; + if (info.asset_type != "WGSL") + continue; std::string base_dir = assets_txt_path.substr(0, assets_txt_path.find_last_of("/\\") + 1); - std::filesystem::path p = std::filesystem::absolute(base_dir) / info.filename; + std::filesystem::path p = + std::filesystem::absolute(base_dir) / info.filename; std::ifstream f(p.lexically_normal().string(), std::ios::binary); - if (!f.is_open()) continue; + if (!f.is_open()) + continue; std::vector<uint8_t> buf((std::istreambuf_iterator<char>(f)), std::istreambuf_iterator<char>()); ans::Histogram(buf.data(), buf.size(), ans_ascii_hist); @@ -551,7 +558,8 @@ int main(int argc, char* argv[]) { [](FILE* f, uint32_t v) { fprintf(f, "%u", v); }); fprintf(assets_data_cc_file, "};\n"); fprintf(assets_data_cc_file, - "const uint32_t* GetAnsAsciiHistogram() { return kAnsAsciiHistogram; }\n\n"); + "const uint32_t* GetAnsAsciiHistogram() { return kAnsAsciiHistogram; " + "}\n\n"); for (auto& info : asset_build_infos) { if (info.asset_type != "PROC" && info.asset_type != "PROC_GPU") { @@ -585,8 +593,7 @@ int main(int argc, char* argv[]) { fprintf(stderr, "Warning: Asset file not found, skipping: %s (%s)\n", info.name.c_str(), full_path.c_str()); - fprintf(assets_data_cc_file, - "const size_t ASSET_SIZE_%s = 0;\n", + fprintf(assets_data_cc_file, "const size_t ASSET_SIZE_%s = 0;\n", info.name.c_str()); fprintf(assets_data_cc_file, "alignas(16) static const uint8_t %s[] = {0};\n", @@ -613,13 +620,12 @@ int main(int argc, char* argv[]) { original_size, compressed.size(), (double)compressed.size() / (double)original_size); } else { - buffer.push_back(0); // null-terminate raw assets + buffer.push_back(0); // null-terminate raw assets } const std::vector<uint8_t>& payload = use_ans ? compressed : buffer; fprintf(assets_data_cc_file, "const size_t ASSET_SIZE_%s = %zu;\n", - info.name.c_str(), - use_ans ? payload.size() : original_size); + info.name.c_str(), use_ans ? payload.size() : original_size); fprintf(assets_data_cc_file, "alignas(16) static const uint8_t %s[] = {", info.data_array_name.c_str()); |
