diff options
| author | Linktothepast <kostamarino@gmail.com> | 2015-09-28 16:50:35 +0300 |
|---|---|---|
| committer | Linktothepast <kostamarino@gmail.com> | 2015-09-28 16:50:35 +0300 |
| commit | 748be565b8df535ef558e74b38cd0f4d615f8a21 (patch) | |
| tree | b151efee0a87e99125f2401325a9bddecf84fc73 /Source/Core/DiscIO/VolumeWad.cpp | |
| parent | cf17fccdd3093a1b8476b10183b1c4bde36da74d (diff) | |
| parent | ce493b897d6d3735c930a8465cc0c26bbe5feb86 (diff) | |
Merge remote-tracking branch 'dolphin-emu/master' into gameinis
Diffstat (limited to 'Source/Core/DiscIO/VolumeWad.cpp')
| -rw-r--r-- | Source/Core/DiscIO/VolumeWad.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/Source/Core/DiscIO/VolumeWad.cpp b/Source/Core/DiscIO/VolumeWad.cpp index a86c944844..fb510afefc 100644 --- a/Source/Core/DiscIO/VolumeWad.cpp +++ b/Source/Core/DiscIO/VolumeWad.cpp @@ -4,12 +4,16 @@ #include <cstddef> #include <map> +#include <memory> #include <string> +#include <utility> #include <vector> #include "Common/CommonTypes.h" #include "Common/MathUtil.h" +#include "Common/MsgHandler.h" #include "Common/StringUtil.h" +#include "Common/Logging/Log.h" #include "DiscIO/Blob.h" #include "DiscIO/Volume.h" #include "DiscIO/VolumeWad.h" @@ -18,8 +22,8 @@ namespace DiscIO { -CVolumeWAD::CVolumeWAD(IBlobReader* _pReader) - : m_pReader(_pReader), m_offset(0), m_tmd_offset(0), m_opening_bnr_offset(0), +CVolumeWAD::CVolumeWAD(std::unique_ptr<IBlobReader> reader) + : m_pReader(std::move(reader)), m_offset(0), m_tmd_offset(0), m_opening_bnr_offset(0), m_hdr_size(0), m_cert_size(0), m_tick_size(0), m_tmd_size(0), m_data_size(0) { // Source: http://wiibrew.org/wiki/WAD_files @@ -91,11 +95,12 @@ std::string CVolumeWAD::GetMakerID() const return DecodeString(temp); } -bool CVolumeWAD::GetTitleID(u8* _pBuffer) const +bool CVolumeWAD::GetTitleID(u64* buffer) const { - if (!Read(m_offset + 0x01DC, 8, _pBuffer)) + if (!Read(m_offset + 0x01DC, sizeof(u64), reinterpret_cast<u8*>(buffer))) return false; + *buffer = Common::swap64(*buffer); return true; } @@ -121,6 +126,11 @@ std::map<IVolume::ELanguage, std::string> CVolumeWAD::GetNames(bool prefer_long) return ReadWiiNames(name_data); } +bool CVolumeWAD::IsCompressed() const +{ + return m_pReader ? m_pReader->IsCompressed() : false; +} + u64 CVolumeWAD::GetSize() const { if (m_pReader) |
