#pragma once #include #include #include #include #include #include #include #include #include "common.h" class IniProcess { public: IniProcess(); void process(); void setInputFile(const fnd::SharedPtr& file); void setCliOutputMode(CliOutputMode type); void setVerifyMode(bool verify); void setKipExtractPath(const std::string& path); private: const std::string kModuleName = "IniProcess"; const std::string kKipExtention = ".kip"; const size_t kCacheSize = 0x10000; fnd::SharedPtr mFile; CliOutputMode mCliOutputMode; bool mVerify; bool mDoExtractKip; std::string mKipExtractPath; nn::hac::IniHeader mHdr; fnd::List> mKipList; void importHeader(); void importKipList(); void displayHeader(); void displayKipList(); void extractKipList(); size_t getKipSizeFromHeader(const nn::hac::KernelInitialProcessHeader& hdr) const; };