mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-22 09:05:44 +00:00
30 lines
780 B
C++
30 lines
780 B
C++
#include "AssetDumpingContext.h"
|
|
|
|
#include <filesystem>
|
|
#include <fstream>
|
|
|
|
AssetDumpingContext::AssetDumpingContext()
|
|
: m_zone(nullptr)
|
|
{
|
|
}
|
|
|
|
std::unique_ptr<std::ostream> AssetDumpingContext::OpenAssetFile(const std::string& fileName) const
|
|
{
|
|
std::filesystem::path assetFilePath(m_base_path);
|
|
assetFilePath.append(fileName);
|
|
|
|
auto assetFileFolder(assetFilePath);
|
|
assetFileFolder.replace_filename("");
|
|
create_directories(assetFileFolder);
|
|
|
|
auto file = std::make_unique<std::ofstream>(assetFilePath, std::fstream::out | std::fstream::binary);
|
|
|
|
if (!file->is_open())
|
|
{
|
|
std::cout << "Failed to open file '" << assetFilePath.string() << "' to dump asset '" << fileName << "'\n";
|
|
return nullptr;
|
|
}
|
|
|
|
return std::move(file);
|
|
}
|