#pragma once #include "Loader.h" struct vfsStream; struct TRPHeader { be_t trp_magic; be_t trp_version; be_t trp_file_size; be_t trp_files_count; be_t trp_element_size; be_t trp_unknown; unsigned char sha1[20]; unsigned char padding[16]; }; struct TRPEntry { char name[32]; be_t offset; be_t size; be_t unknown; char padding[12]; }; class TRPLoader { vfsStream& trp_f; TRPHeader m_header; std::vector m_entries; public: TRPLoader(vfsStream& f); ~TRPLoader(); virtual bool Install(std::string dest, bool show = false); virtual bool LoadHeader(bool show = false); virtual bool ContainsEntry(const char *filename); virtual void RemoveEntry(const char *filename); virtual void RenameEntry(const char *oldname, const char *newname); virtual bool Close(); };