// // Created by sfd on 25-8-4. // #ifndef EXPKG_H #define EXPKG_H #include #include "Entry.h" typedef struct CommandArgs { int argc; char** argv; } CommandArgs; namespace PKG { class BinaryReader; enum class FILE_EXTENSION; class PKG_API EXPKG { public: EXPKG(const CommandArgs& commandArgs); EXPKG(const std::string& filePath, const std::string& outDir = "out"); private: static FILE_EXTENSION checkExtension(const std::filesystem::path& filePath); void ExtractTex(const std::filesystem::path& path = "") const; void ExtractPkg(); void Run(); private: std::shared_ptr m_Reader; std::filesystem::path m_OutDir; std::vector m_Entries; }; } #endif //EXPKG_H