mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-06-15 06:58:37 +02:00
TitleDatabase: Don't merge multiple languages into same map
Instead of selecting languages based on the user config at the time of TitleDatabase creation and merging the different languages into one map for GC and one map for Wii, have one map for each language, and have the caller supply the language they want. This makes us not need the IsGCTitle function, which is inaccurate for IDs that start with D.
This commit is contained in:
@ -50,7 +50,7 @@ static const std::string EMPTY_STRING;
|
||||
static bool UseGameCovers()
|
||||
{
|
||||
// We ifdef this out on Android because accessing the config before emulation start makes us crash.
|
||||
// The Android GUI doesn't support covers anyway, so this doesn't make us lose out on functionality.
|
||||
// The Android GUI handles covers in Java anyway, so this doesn't make us lose any functionality.
|
||||
#ifdef ANDROID
|
||||
return false;
|
||||
#else
|
||||
@ -58,6 +58,17 @@ static bool UseGameCovers()
|
||||
#endif
|
||||
}
|
||||
|
||||
DiscIO::Language GameFile::GetConfigLanguage() const
|
||||
{
|
||||
#ifdef ANDROID
|
||||
// TODO: Make the Android app load the config at app start instead of emulation start
|
||||
// so that we can access the user's preference here
|
||||
return DiscIO::Language::English;
|
||||
#else
|
||||
return SConfig::GetInstance().GetCurrentLanguage(DiscIO::IsWii(m_platform));
|
||||
#endif
|
||||
}
|
||||
|
||||
bool operator==(const GameBanner& lhs, const GameBanner& rhs)
|
||||
{
|
||||
return std::tie(lhs.buffer, lhs.width, lhs.height) == std::tie(rhs.buffer, rhs.width, rhs.height);
|
||||
@ -94,15 +105,7 @@ const std::string& GameFile::Lookup(DiscIO::Language language,
|
||||
const std::string&
|
||||
GameFile::LookupUsingConfigLanguage(const std::map<DiscIO::Language, std::string>& strings) const
|
||||
{
|
||||
#ifdef ANDROID
|
||||
// TODO: Make the Android app load the config at app start instead of emulation start
|
||||
// so that we can access the user's preference here
|
||||
const DiscIO::Language language = DiscIO::Language::English;
|
||||
#else
|
||||
const bool wii = DiscIO::IsWii(m_platform);
|
||||
const DiscIO::Language language = SConfig::GetInstance().GetCurrentLanguage(wii);
|
||||
#endif
|
||||
return Lookup(language, strings);
|
||||
return Lookup(GetConfigLanguage(), strings);
|
||||
}
|
||||
|
||||
GameFile::GameFile(const std::string& path)
|
||||
@ -422,7 +425,7 @@ void GameFile::CustomBannerCommit()
|
||||
|
||||
const std::string& GameFile::GetName(const Core::TitleDatabase& title_database) const
|
||||
{
|
||||
const std::string& custom_name = title_database.GetTitleName(m_gametdb_id);
|
||||
const std::string& custom_name = title_database.GetTitleName(m_gametdb_id, GetConfigLanguage());
|
||||
return custom_name.empty() ? GetName() : custom_name;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user