aboutsummaryrefslogtreecommitdiff
path: root/libs/bsapacker/src/Fallout4DummyPluginService.cpp
blob: 844ab21dd7a55f6347a3f6af908b14833bde502b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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));
	}
}