DiscIO: implement WbfsBlob::GetDataSize()

This commit is contained in:
Tillmann Karras 2015-09-17 10:58:54 +02:00
parent a92b4bda95
commit 1a8e2e16e3
2 changed files with 11 additions and 1 deletions

View File

@ -51,6 +51,11 @@ WbfsFileReader::~WbfsFileReader()
delete[] m_wlba_table; delete[] m_wlba_table;
} }
u64 WbfsFileReader::GetDataSize() const
{
return WII_SECTOR_COUNT * WII_SECTOR_SIZE;
}
bool WbfsFileReader::OpenFiles(const std::string& filename) bool WbfsFileReader::OpenFiles(const std::string& filename)
{ {
m_total_files = 0; m_total_files = 0;

View File

@ -20,7 +20,12 @@ public:
static WbfsFileReader* Create(const std::string& filename); static WbfsFileReader* Create(const std::string& filename);
BlobType GetBlobType() const override { return BlobType::WBFS; } BlobType GetBlobType() const override { return BlobType::WBFS; }
u64 GetDataSize() const override { return m_size; }
// The WBFS format does not save the original file size.
// This function returns a constant upper bound
// (the size of a double-layer Wii disc).
u64 GetDataSize() const override;
u64 GetRawSize() const override { return m_size; } u64 GetRawSize() const override { return m_size; }
bool Read(u64 offset, u64 nbytes, u8* out_ptr) override; bool Read(u64 offset, u64 nbytes, u8* out_ptr) override;