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