diff options
Diffstat (limited to 'libs/bsapacker/src/Fallout4DummyPluginService.cpp')
| -rw-r--r-- | libs/bsapacker/src/Fallout4DummyPluginService.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/libs/bsapacker/src/Fallout4DummyPluginService.cpp b/libs/bsapacker/src/Fallout4DummyPluginService.cpp new file mode 100644 index 0000000..844ab21 --- /dev/null +++ b/libs/bsapacker/src/Fallout4DummyPluginService.cpp @@ -0,0 +1,26 @@ +#include "Fallout4DummyPluginService.h" + +namespace BsaPacker +{ + Fallout4DummyPluginService::Fallout4DummyPluginService( + const IFileWriterService* fileWriterService, + const IDummyPluginLogic* dummyPluginLogic) + : m_FileWriterService(fileWriterService), + m_DummyPluginLogic(dummyPluginLogic) + { + } + + bool Fallout4DummyPluginService::CreatePlugin(const QString& modPath, + const QString& archiveNameBase) const + { + const QString& fileNameNoExtension = modPath + '/' + archiveNameBase; + if (!this->m_DummyPluginLogic->canCreateDummyESL(fileNameNoExtension, bsa_archive_type_e::baFO4) && !this->m_DummyPluginLogic->canCreateDummyESL(fileNameNoExtension, bsa_archive_type_e::baFO4dds)) + { + return false; + } + const std::string& absoluteFileName = fileNameNoExtension.toStdString() + ".esp"; + return this->m_FileWriterService->Write(absoluteFileName, + reinterpret_cast<const char*>(Fallout4DummyPluginService::RAW_FALLOUT4), + sizeof(Fallout4DummyPluginService::RAW_FALLOUT4)); + } +} |
