rpcsx/rpcs3/Loader/TRP.h

41 lines
799 B
C
Raw Normal View History

#pragma once
struct TRPHeader
{
be_t<u32> trp_magic;
be_t<u32> trp_version;
be_t<u64> trp_file_size;
be_t<u32> trp_files_count;
be_t<u32> trp_element_size;
be_t<u32> trp_dev_flag;
unsigned char sha1[20];
unsigned char padding[16];
};
struct TRPEntry
{
char name[32];
be_t<u64> offset;
be_t<u64> size;
be_t<u32> unknown;
char padding[12];
};
2016-02-01 22:47:09 +01:00
class TRPLoader final
{
2016-02-01 22:47:09 +01:00
const fs::file& trp_f;
2021-04-03 18:38:02 +02:00
TRPHeader m_header{};
std::vector<TRPEntry> m_entries{};
public:
2016-02-01 22:47:09 +01:00
TRPLoader(const fs::file& f);
2022-04-25 08:39:58 +02:00
bool Install(std::string_view dest, bool show = false);
2016-02-01 22:47:09 +01:00
bool LoadHeader(bool show = false);
u64 GetRequiredSpace() const;
2022-04-25 08:39:58 +02:00
bool ContainsEntry(std::string_view filename);
void RemoveEntry(std::string_view filename);
void RenameEntry(std::string_view oldname, std::string_view newname);
2015-04-16 01:17:42 +02:00
};