nstool/programs/nstool/source/AssetProcess.h
2018-06-11 23:01:54 +08:00

48 lines
944 B
C++

#pragma once
#include <string>
#include <fnd/types.h>
#include <fnd/IFile.h>
#include <nx/AssetHeader.h>
#include "NacpProcess.h"
#include "RomfsProcess.h"
#include "nstool.h"
class AssetProcess
{
public:
AssetProcess();
~AssetProcess();
void process();
void setInputFile(fnd::IFile* file, bool ownIFile);
void setCliOutputMode(CliOutputType type);
void setVerifyMode(bool verify);
void setListFs(bool list);
void setIconExtractPath(const std::string& path);
void setNacpExtractPath(const std::string& path);
void setRomfsExtractPath(const std::string& path);
private:
const std::string kModuleName = "AssetProcess";
fnd::IFile* mFile;
bool mOwnIFile;
CliOutputType mCliOutputType;
bool mVerify;
sOptional<std::string> mIconExtractPath;
sOptional<std::string> mNacpExtractPath;
nx::AssetHeader mHdr;
NacpProcess mNacp;
RomfsProcess mRomfs;
void importHeader();
void processSections();
void displayHeader();
};