mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-24 06:39:46 -06:00
DiskIO: Clean up GetTMD() API.
This commit is contained in:
@ -4,6 +4,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
@ -20,7 +21,11 @@ public:
|
||||
virtual bool Read(u64 _Offset, u64 _Length, u8* _pBuffer) const = 0;
|
||||
virtual bool RAWRead(u64 _Offset, u64 _Length, u8* _pBuffer) const = 0;
|
||||
virtual bool GetTitleID(u8*) const { return false; }
|
||||
virtual void GetTMD(u8*, u32 *_sz) const { *_sz=0; }
|
||||
virtual std::unique_ptr<u8[]> GetTMD(u32 *_sz) const
|
||||
{
|
||||
*_sz = 0;
|
||||
return std::unique_ptr<u8[]>();
|
||||
}
|
||||
virtual std::string GetUniqueID() const = 0;
|
||||
virtual std::string GetRevisionSpecificUniqueID() const { return ""; }
|
||||
virtual std::string GetMakerID() const = 0;
|
||||
|
@ -108,7 +108,7 @@ bool CVolumeWiiCrypted::GetTitleID(u8* _pBuffer) const
|
||||
// TitleID offset in tik is 0x1DC
|
||||
return RAWRead(m_VolumeOffset + 0x1DC, 8, _pBuffer);
|
||||
}
|
||||
void CVolumeWiiCrypted::GetTMD(u8* _pBuffer, u32 * _sz) const
|
||||
std::unique_ptr<u8[]> CVolumeWiiCrypted::GetTMD(u32 *_sz) const
|
||||
{
|
||||
*_sz = 0;
|
||||
u32 tmdSz,
|
||||
@ -118,8 +118,10 @@ void CVolumeWiiCrypted::GetTMD(u8* _pBuffer, u32 * _sz) const
|
||||
RAWRead(m_VolumeOffset + 0x2a8, sizeof(u32), (u8*)&tmdAddr);
|
||||
tmdSz = Common::swap32(tmdSz);
|
||||
tmdAddr = Common::swap32(tmdAddr) << 2;
|
||||
RAWRead(m_VolumeOffset + tmdAddr, tmdSz, _pBuffer);
|
||||
std::unique_ptr<u8[]> buf{new u8[tmdSz]};
|
||||
RAWRead(m_VolumeOffset + tmdAddr, tmdSz, buf.get());
|
||||
*_sz = tmdSz;
|
||||
return buf;
|
||||
}
|
||||
|
||||
std::string CVolumeWiiCrypted::GetUniqueID() const
|
||||
|
@ -27,7 +27,7 @@ public:
|
||||
bool Read(u64 _Offset, u64 _Length, u8* _pBuffer) const override;
|
||||
bool RAWRead(u64 _Offset, u64 _Length, u8* _pBuffer) const override;
|
||||
bool GetTitleID(u8* _pBuffer) const override;
|
||||
void GetTMD(u8* _pBuffer, u32* _sz) const override;
|
||||
virtual std::unique_ptr<u8[]> GetTMD(u32 *_sz) const override;
|
||||
std::string GetUniqueID() const override;
|
||||
std::string GetMakerID() const override;
|
||||
std::vector<std::string> GetNames() const override;
|
||||
|
Reference in New Issue
Block a user