diff options
| author | Henny022p <info@henny022.de> | 2021-11-27 07:23:35 +0100 |
|---|---|---|
| committer | Henny022p <info@henny022.de> | 2021-11-27 07:23:35 +0100 |
| commit | 9e9dc07d23d42863f6f7ef5891898c87eb2fa015 (patch) | |
| tree | b2b60ad2957db1904e93d66c814ab173d64e0c5f /tools | |
| parent | 48aa1d77201689a72959f630d4eb16a2a11dae6d (diff) | |
use simple stdio for binary buffer writes instead of filestream
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/src/asset_processor/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | tools/src/asset_processor/assets/asset.cpp | 12 | ||||
| -rw-r--r-- | tools/src/asset_processor/assets/midi.cpp | 17 |
3 files changed, 10 insertions, 21 deletions
diff --git a/tools/src/asset_processor/CMakeLists.txt b/tools/src/asset_processor/CMakeLists.txt index 387b4ab5..4709cd52 100644 --- a/tools/src/asset_processor/CMakeLists.txt +++ b/tools/src/asset_processor/CMakeLists.txt @@ -3,6 +3,6 @@ file(GLOB_RECURSE sources *.cpp) add_executable(asset_processor ${sources}) target_include_directories(asset_processor PRIVATE .) target_link_libraries(asset_processor PRIVATE project_settings) -target_link_libraries(asset_processor PRIVATE fmt::fmt nlohmann_json::nlohmann_json filesystem) +target_link_libraries(asset_processor PRIVATE fmt::fmt nlohmann_json::nlohmann_json filesystem util) install(TARGETS asset_processor RUNTIME DESTINATION bin) diff --git a/tools/src/asset_processor/assets/asset.cpp b/tools/src/asset_processor/assets/asset.cpp index d75f50b9..ff81e810 100644 --- a/tools/src/asset_processor/assets/asset.cpp +++ b/tools/src/asset_processor/assets/asset.cpp @@ -1,11 +1,7 @@ #include "asset.h" -#include <fstream> +#include <util/file.h> void BaseAsset::extractBinary(const std::vector<char>& baserom) { - auto first = baserom.begin() + start; - auto last = baserom.begin() + start + size; - std::vector<char> data(first, last); - std::fstream file(path, std::ios::out | std::ios::binary); - file.write(&data[0], static_cast<std::streamsize>(data.size())); - file.close(); -}
\ No newline at end of file + auto file = util::open_file(path.string(), "w"); + std::fwrite(baserom.data() + start, 1, static_cast<size_t>(size), file.get()); +} diff --git a/tools/src/asset_processor/assets/midi.cpp b/tools/src/asset_processor/assets/midi.cpp index 1a3f1852..1c383877 100644 --- a/tools/src/asset_processor/assets/midi.cpp +++ b/tools/src/asset_processor/assets/midi.cpp @@ -4,6 +4,7 @@ #include <filesystem> #include <iostream> #include <fstream> +#include <util/file.h> #include <nlohmann/json.hpp> #include <fmt/format.h> @@ -32,21 +33,13 @@ void MidiAsset::extractBinary(const std::vector<char>& baserom) { // Extract tracks { - auto first = baserom.begin() + start; - auto last = baserom.begin() + start + headerOffset; - std::vector<char> data(first, last); - std::fstream file(tracksPath, std::ios::out | std::ios::binary); - file.write(&data[0], static_cast<std::streamsize>(data.size())); - file.close(); + auto file = util::open_file(tracksPath.string(), "w"); + std::fwrite(baserom.data() + start, 1, static_cast<size_t>(headerOffset), file.get()); } // Extract header { - auto first = baserom.begin() + start + headerOffset; - auto last = baserom.begin() + start + size; - std::vector<char> data(first, last); - std::fstream file(headerPath, std::ios::out | std::ios::binary); - file.write(&data[0], static_cast<std::streamsize>(data.size())); - file.close(); + auto file = util::open_file(headerPath.string(), "w"); + std::fwrite(baserom.data() + start + headerOffset, 1, static_cast<size_t>(size - headerOffset), file.get()); } // Create dummy .s file. |
