WiiWad: Move static implementation details to cpp file
These functions don't actually depend on any state from the class instance, so they don't really belong in the header, and are just an implementation detail.
This commit is contained in:
parent
e7efbf7ae5
commit
7de0d51345
|
@ -16,6 +16,34 @@
|
|||
|
||||
namespace DiscIO
|
||||
{
|
||||
namespace
|
||||
{
|
||||
std::vector<u8> CreateWADEntry(IBlobReader& reader, u32 size, u64 offset)
|
||||
{
|
||||
if (size == 0)
|
||||
return {};
|
||||
|
||||
std::vector<u8> buffer(size);
|
||||
|
||||
if (!reader.Read(offset, size, buffer.data()))
|
||||
{
|
||||
ERROR_LOG(DISCIO, "WiiWAD: Could not read from file");
|
||||
PanicAlertT("WiiWAD: Could not read from file");
|
||||
}
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
bool IsWiiWAD(const CBlobBigEndianReader& reader)
|
||||
{
|
||||
u32 header_size = 0;
|
||||
u32 header_type = 0;
|
||||
reader.ReadSwapped(0x0, &header_size);
|
||||
reader.ReadSwapped(0x4, &header_type);
|
||||
return header_size == 0x20 && (header_type == 0x49730000 || header_type == 0x69620000);
|
||||
}
|
||||
} // Anonymous namespace
|
||||
|
||||
WiiWAD::WiiWAD(const std::string& name)
|
||||
{
|
||||
std::unique_ptr<IBlobReader> reader(CreateBlobReader(name));
|
||||
|
@ -32,22 +60,6 @@ WiiWAD::~WiiWAD()
|
|||
{
|
||||
}
|
||||
|
||||
std::vector<u8> WiiWAD::CreateWADEntry(IBlobReader& reader, u32 size, u64 offset)
|
||||
{
|
||||
if (size == 0)
|
||||
return {};
|
||||
|
||||
std::vector<u8> buffer(size);
|
||||
|
||||
if (!reader.Read(offset, size, buffer.data()))
|
||||
{
|
||||
ERROR_LOG(DISCIO, "WiiWAD: Could not read from file");
|
||||
PanicAlertT("WiiWAD: Could not read from file");
|
||||
}
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
bool WiiWAD::ParseWAD(IBlobReader& reader)
|
||||
{
|
||||
CBlobBigEndianReader big_endian_reader(reader);
|
||||
|
@ -88,13 +100,4 @@ bool WiiWAD::ParseWAD(IBlobReader& reader)
|
|||
return true;
|
||||
}
|
||||
|
||||
bool WiiWAD::IsWiiWAD(const CBlobBigEndianReader& reader)
|
||||
{
|
||||
u32 header_size = 0;
|
||||
u32 header_type = 0;
|
||||
reader.ReadSwapped(0x0, &header_size);
|
||||
reader.ReadSwapped(0x4, &header_type);
|
||||
return header_size == 0x20 && (header_type == 0x49730000 || header_type == 0x69620000);
|
||||
}
|
||||
|
||||
} // namespace end
|
||||
} // namespace DiscIO
|
||||
|
|
|
@ -28,8 +28,6 @@ public:
|
|||
const std::vector<u8>& GetFooter() const { return m_footer; }
|
||||
private:
|
||||
bool ParseWAD(IBlobReader& reader);
|
||||
static std::vector<u8> CreateWADEntry(IBlobReader& reader, u32 size, u64 offset);
|
||||
static bool IsWiiWAD(const CBlobBigEndianReader& reader);
|
||||
|
||||
bool m_valid;
|
||||
|
||||
|
|
Loading…
Reference in New Issue