From 6e86637f87c5160dd5d98706b4deee3aa362bf20 Mon Sep 17 00:00:00 2001 From: "banjo.decomp" Date: Tue, 22 Nov 2022 20:59:56 -0600 Subject: [PATCH] remove tools/bk_crc/ --- tools/bk_crc/bk_crc | Bin 43624 -> 0 bytes tools/bk_crc/bk_crc.cpp | 73 ---------------------------------------- 2 files changed, 73 deletions(-) delete mode 100755 tools/bk_crc/bk_crc delete mode 100644 tools/bk_crc/bk_crc.cpp diff --git a/tools/bk_crc/bk_crc b/tools/bk_crc/bk_crc deleted file mode 100755 index 541419ab254cffbfcc33292ddc460b938ba921a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43624 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

U#X^yZF~H%q12O37W&e?KiF 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 -#include -#include -#include -#include -#include -#include -#include -#include - -typedef enum{ - BINARY, - DEFINES, -} OutType; - -typedef std::pair CRC; - -CRC bk_crc(const std::vector &buffer){ - CRC crc = {0, 0xFFFFFFFF}; - for (auto byte : buffer){ - crc.first += byte; - crc.second ^= (byte << (crc.first & 0x17)); - } - return crc; -} - -/* calculate Banjo-Kazooie CRC and write value to bin OR txt file with gcc defines */ -/// -D output as defines -int main(int argc, char *argv[]){ - struct { - OutType type; - std::string name; - } config = {BINARY, ""}; - - //parse arguments - for(int i = 1; i < argc - 1; i++){ - std::string argi = argv[i]; - if(argi == "-D" || argi == "-d") //no loop - config.type = DEFINES; - config.name = argv[++i]; - std::transform(config.name.begin(), config.name.end(), config.name.begin(), ::toupper); - } - - std::string in_bin = argv[argc -1]; - std::ifstream in_f(in_bin, std::ios::in | std::ios::binary | std::ios::ate); - size_t in_size = in_f.tellg(); - in_f.seekg(0); - std::vector in_data; - in_data.resize(in_size); - in_f.read(reinterpret_cast(in_data.data()), in_size); - - auto result = bk_crc(in_data); - - switch(config.type){ - case OutType::BINARY: - std::cout << (char)((result.first >> 24) & 0xff) << (char)((result.first >> 16) & 0xff) << (char)((result.first >> 8) & 0xff) << (char)((result.first >> 0) & 0xff); - std::cout << (char)((result.second >> 24) & 0xff) << (char)((result.second >> 16) & 0xff) << (char)((result.second >> 8) & 0xff) << (char)((result.second >> 0) & 0xff); - std::cout << std::flush; - break; - - case OutType::DEFINES: - std::cout << "-D'" << config.name << "_CRC1=0x"; - std::cout << std::hex <