DiscIO: Use std::optional in Volume and Blob

This commit is contained in:
JosJuice 2017-06-04 10:33:14 +02:00
commit c3fa0d6edf
23 changed files with 232 additions and 237 deletions

View file

@ -5,6 +5,7 @@
#include <cinttypes>
#include <climits>
#include <memory>
#include <optional>
#include "AudioCommon/AudioCommon.h"
@ -720,7 +721,8 @@ void SConfig::SetRunningGameMetadata(const DiscIO::IVolume& volume,
const DiscIO::Partition& partition)
{
SetRunningGameMetadata(volume.GetGameID(partition), volume.GetTitleID(partition).value_or(0),
volume.GetRevision(partition), Core::TitleDatabase::TitleType::Other);
volume.GetRevision(partition).value_or(0),
Core::TitleDatabase::TitleType::Other);
}
void SConfig::SetRunningGameMetadata(const IOS::ES::TMDReader& tmd)
@ -1117,7 +1119,7 @@ IniFile SConfig::LoadGameIni() const
return LoadGameIni(GetGameID(), m_revision);
}
IniFile SConfig::LoadDefaultGameIni(const std::string& id, u16 revision)
IniFile SConfig::LoadDefaultGameIni(const std::string& id, std::optional<u16> revision)
{
IniFile game_ini;
for (const std::string& filename : GetGameIniFilenames(id, revision))
@ -1125,7 +1127,7 @@ IniFile SConfig::LoadDefaultGameIni(const std::string& id, u16 revision)
return game_ini;
}
IniFile SConfig::LoadLocalGameIni(const std::string& id, u16 revision)
IniFile SConfig::LoadLocalGameIni(const std::string& id, std::optional<u16> revision)
{
IniFile game_ini;
for (const std::string& filename : GetGameIniFilenames(id, revision))
@ -1133,7 +1135,7 @@ IniFile SConfig::LoadLocalGameIni(const std::string& id, u16 revision)
return game_ini;
}
IniFile SConfig::LoadGameIni(const std::string& id, u16 revision)
IniFile SConfig::LoadGameIni(const std::string& id, std::optional<u16> revision)
{
IniFile game_ini;
for (const std::string& filename : GetGameIniFilenames(id, revision))
@ -1144,7 +1146,8 @@ IniFile SConfig::LoadGameIni(const std::string& id, u16 revision)
}
// Returns all possible filenames in ascending order of priority
std::vector<std::string> SConfig::GetGameIniFilenames(const std::string& id, u16 revision)
std::vector<std::string> SConfig::GetGameIniFilenames(const std::string& id,
std::optional<u16> revision)
{
std::vector<std::string> filenames;
@ -1162,7 +1165,8 @@ std::vector<std::string> SConfig::GetGameIniFilenames(const std::string& id, u16
filenames.push_back(id + ".ini");
// INIs with specific revisions
filenames.push_back(id + StringFromFormat("r%d", revision) + ".ini");
if (revision)
filenames.push_back(id + StringFromFormat("r%d", *revision) + ".ini");
return filenames;
}