diff options
| author | JosJuice <josjuice@gmail.com> | 2017-06-04 10:33:14 +0200 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2017-06-05 13:26:51 +0200 |
| commit | c3fa0d6edf0ed65acdf789debed57cd4aa7955ba (patch) | |
| tree | f8f42f79831b513161902d819a945d60368f7499 /Source/Core/DiscIO/VolumeWad.cpp | |
| parent | e23cfc29654ece853309454a7a37306cc696af19 (diff) | |
DiscIO: Use std::optional in Volume and Blob
Diffstat (limited to 'Source/Core/DiscIO/VolumeWad.cpp')
| -rw-r--r-- | Source/Core/DiscIO/VolumeWad.cpp | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/Source/Core/DiscIO/VolumeWad.cpp b/Source/Core/DiscIO/VolumeWad.cpp index d26e6c7678..0af9e7b60f 100644 --- a/Source/Core/DiscIO/VolumeWad.cpp +++ b/Source/Core/DiscIO/VolumeWad.cpp @@ -7,6 +7,7 @@ #include <locale> #include <map> #include <memory> +#include <optional> #include <string> #include <utility> #include <vector> @@ -29,11 +30,11 @@ CVolumeWAD::CVolumeWAD(std::unique_ptr<IBlobReader> reader) : m_reader(std::move _assert_(m_reader); // Source: http://wiibrew.org/wiki/WAD_files - m_reader->ReadSwapped(0x00, &m_hdr_size); - m_reader->ReadSwapped(0x08, &m_cert_size); - m_reader->ReadSwapped(0x10, &m_tick_size); - m_reader->ReadSwapped(0x14, &m_tmd_size); - m_reader->ReadSwapped(0x18, &m_data_size); + m_hdr_size = m_reader->ReadSwapped<u32>(0x00).value_or(0); + m_cert_size = m_reader->ReadSwapped<u32>(0x08).value_or(0); + m_tick_size = m_reader->ReadSwapped<u32>(0x10).value_or(0); + m_tmd_size = m_reader->ReadSwapped<u32>(0x14).value_or(0); + m_data_size = m_reader->ReadSwapped<u32>(0x18).value_or(0); m_offset = Common::AlignUp(m_hdr_size, 0x40) + Common::AlignUp(m_cert_size, 0x40); m_tmd_offset = Common::AlignUp(m_hdr_size, 0x40) + Common::AlignUp(m_cert_size, 0x40) + @@ -109,16 +110,13 @@ std::string CVolumeWAD::GetMakerID(const Partition& partition) const std::optional<u64> CVolumeWAD::GetTitleID(const Partition& partition) const { - u64 title_id; - if (!ReadSwapped(m_offset + 0x01DC, &title_id, partition)) - return {}; - return title_id; + return ReadSwapped<u64>(m_offset + 0x01DC, partition); } -u16 CVolumeWAD::GetRevision(const Partition& partition) const +std::optional<u16> CVolumeWAD::GetRevision(const Partition& partition) const { if (!m_tmd.IsValid()) - return 0; + return {}; return m_tmd.GetTitleVersion(); } |
