mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-15 05:47:56 -07:00
WiiWad: Allow using WiiWad with more than just files
This adds a WiiWad constructor that takes a BlobReader, so that the class can be used with more than just files from the host filesystem. Required for using WiiWad with WADs from update partitions.
This commit is contained in:
parent
5976d3934d
commit
ca0438e26d
@ -44,21 +44,18 @@ bool IsWiiWAD(BlobReader& reader)
|
||||
}
|
||||
} // Anonymous namespace
|
||||
|
||||
WiiWAD::WiiWAD(const std::string& name) : m_reader(CreateBlobReader(name))
|
||||
{
|
||||
if (m_reader == nullptr)
|
||||
{
|
||||
m_valid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
m_valid = ParseWAD();
|
||||
}
|
||||
|
||||
WiiWAD::~WiiWAD()
|
||||
WiiWAD::WiiWAD(const std::string& name) : WiiWAD(CreateBlobReader(name))
|
||||
{
|
||||
}
|
||||
|
||||
WiiWAD::WiiWAD(std::unique_ptr<BlobReader> blob_reader) : m_reader(std::move(blob_reader))
|
||||
{
|
||||
if (m_reader)
|
||||
m_valid = ParseWAD();
|
||||
}
|
||||
|
||||
WiiWAD::~WiiWAD() = default;
|
||||
|
||||
bool WiiWAD::ParseWAD()
|
||||
{
|
||||
if (!IsWiiWAD(*m_reader))
|
||||
|
@ -19,6 +19,7 @@ class WiiWAD
|
||||
{
|
||||
public:
|
||||
explicit WiiWAD(const std::string& name);
|
||||
explicit WiiWAD(std::unique_ptr<BlobReader> blob_reader);
|
||||
~WiiWAD();
|
||||
|
||||
bool IsValid() const { return m_valid; }
|
||||
@ -32,7 +33,7 @@ public:
|
||||
private:
|
||||
bool ParseWAD();
|
||||
|
||||
bool m_valid;
|
||||
bool m_valid = false;
|
||||
|
||||
std::unique_ptr<BlobReader> m_reader;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user