diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Companion.cpp | 42 | ||||
| -rw-r--r-- | src/Companion.h | 2 |
2 files changed, 22 insertions, 22 deletions
diff --git a/src/Companion.cpp b/src/Companion.cpp index be80ee5..2ccbdd9 100644 --- a/src/Companion.cpp +++ b/src/Companion.cpp @@ -1336,8 +1336,8 @@ void Companion::Process() { } if(!this->gVersion.empty()) { - auto data = this->ParseVersionString(this->gVersion); - wrapper->AddFile("assetVersion", data); + auto data = ParseVersionString(this->gVersion); + wrapper->AddFile("portVersion", data); } SPDLOG_CRITICAL("Writing version file"); @@ -1411,8 +1411,8 @@ void Companion::Pack(const std::string& folder, const std::string& output, const if(!version.empty()) { SPDLOG_CRITICAL("Adding version file"); - auto data = this->ParseVersionString(version); - wrapper->AddFile("assetVersion", data); + auto data = ParseVersionString(version); + wrapper->AddFile("portVersion", data); } auto end = duration_cast<milliseconds>(system_clock::now().time_since_epoch()); @@ -1720,6 +1720,23 @@ std::string Companion::CalculateHash(const std::vector<uint8_t>& data) { return std::string(buf); } +std::vector<char> Companion::ParseVersionString(const std::string& version) { + uint16_t major = 0; + uint16_t minor = 0; + uint16_t patch = 0; + + std::sscanf(version.c_str(), "%hu.%hu.%hu", &major, &minor, &patch); + + auto wv = LUS::BinaryWriter(); + wv.SetEndianness(Torch::Endianness::Big); + wv.Write(major); + wv.Write(minor); + wv.Write(patch); + wv.Close(); + + return wv.ToVector(); +} + std::optional<YAML::Node> Companion::AddAsset(YAML::Node asset) { if(!asset["offset"] || !asset["type"]) { return std::nullopt; @@ -1775,21 +1792,4 @@ std::optional<YAML::Node> Companion::AddAsset(YAML::Node asset) { } return std::nullopt; -} - -std::vector<char> Companion::ParseVersionString(const std::string& version) { - uint16_t major = 0; - uint16_t minor = 0; - uint16_t patch = 0; - - std::sscanf(version.c_str(), "%hu.%hu.%hu", &major, &minor, &patch); - - auto wv = LUS::BinaryWriter(); - wv.SetEndianness(Torch::Endianness::Big); - wv.Write(major); - wv.Write(minor); - wv.Write(patch); - wv.Close(); - - return wv.ToVector(); }
\ No newline at end of file diff --git a/src/Companion.h b/src/Companion.h index bc65852..37b1508 100644 --- a/src/Companion.h +++ b/src/Companion.h @@ -178,6 +178,7 @@ public: std::optional<VRAMEntry> GetCurrentVRAM(void) const { return this->gCurrentVram; }; std::optional<Table> SearchTable(uint32_t addr); + static std::vector<char> ParseVersionString(const std::string& version); static std::string CalculateHash(const std::vector<uint8_t>& data); static void Pack(const std::string& folder, const std::string& output, const ArchiveType otrMode, const std::string& version = ""); std::string NormalizeAsset(const std::string& name) const; @@ -248,5 +249,4 @@ private: void ProcessTables(YAML::Node& rom); void LoadYAMLRecursively(const std::string &dirPath, std::vector<YAML::Node> &result, bool skipRoot); std::optional<ParseResultData> ParseNode(YAML::Node& node, std::string& name); - std::vector<char> ParseVersionString(const std::string& version); }; |
