System: Clear out memcard warnings when changing to valid config
This commit is contained in:
parent
e1e2dcd435
commit
d5a3770663
|
@ -2892,14 +2892,16 @@ std::unique_ptr<MemoryCard> System::GetMemoryCardForSlot(u32 slot, MemoryCardTyp
|
|||
if (is_running_psf)
|
||||
return nullptr;
|
||||
|
||||
std::string message_key = fmt::format("MemoryCard{}SharedWarning", slot);
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case MemoryCardType::PerGame:
|
||||
{
|
||||
if (s_running_game_serial.empty())
|
||||
{
|
||||
Host::AddFormattedOSDMessage(
|
||||
5.0f,
|
||||
Host::AddKeyedFormattedOSDMessage(
|
||||
std::move(message_key), 5.0f,
|
||||
Host::TranslateString("System", "Per-game memory card cannot be used for slot %u as the running "
|
||||
"game has no code. Using shared card instead."),
|
||||
slot + 1u);
|
||||
|
@ -2907,6 +2909,7 @@ std::unique_ptr<MemoryCard> System::GetMemoryCardForSlot(u32 slot, MemoryCardTyp
|
|||
}
|
||||
else
|
||||
{
|
||||
Host::RemoveKeyedOSDMessage(std::move(message_key));
|
||||
return MemoryCard::Open(g_settings.GetGameMemoryCardPath(s_running_game_serial.c_str(), slot));
|
||||
}
|
||||
}
|
||||
|
@ -2915,8 +2918,8 @@ std::unique_ptr<MemoryCard> System::GetMemoryCardForSlot(u32 slot, MemoryCardTyp
|
|||
{
|
||||
if (s_running_game_title.empty())
|
||||
{
|
||||
Host::AddFormattedOSDMessage(
|
||||
5.0f,
|
||||
Host::AddKeyedFormattedOSDMessage(
|
||||
std::move(message_key), 5.0f,
|
||||
Host::TranslateString("System", "Per-game memory card cannot be used for slot %u as the running "
|
||||
"game has no title. Using shared card instead."),
|
||||
slot + 1u);
|
||||
|
@ -2924,6 +2927,7 @@ std::unique_ptr<MemoryCard> System::GetMemoryCardForSlot(u32 slot, MemoryCardTyp
|
|||
}
|
||||
else
|
||||
{
|
||||
Host::RemoveKeyedOSDMessage(std::move(message_key));
|
||||
return MemoryCard::Open(g_settings.GetGameMemoryCardPath(
|
||||
MemoryCard::SanitizeGameTitleForFileName(s_running_game_title).c_str(), slot));
|
||||
}
|
||||
|
@ -2935,8 +2939,8 @@ std::unique_ptr<MemoryCard> System::GetMemoryCardForSlot(u32 slot, MemoryCardTyp
|
|||
const std::string_view file_title(Path::GetFileTitle(display_name));
|
||||
if (file_title.empty())
|
||||
{
|
||||
Host::AddFormattedOSDMessage(
|
||||
5.0f,
|
||||
Host::AddKeyedFormattedOSDMessage(
|
||||
std::move(message_key), 5.0f,
|
||||
Host::TranslateString("System", "Per-game memory card cannot be used for slot %u as the running "
|
||||
"game has no path. Using shared card instead."),
|
||||
slot + 1u);
|
||||
|
@ -2944,6 +2948,7 @@ std::unique_ptr<MemoryCard> System::GetMemoryCardForSlot(u32 slot, MemoryCardTyp
|
|||
}
|
||||
else
|
||||
{
|
||||
Host::RemoveKeyedOSDMessage(std::move(message_key));
|
||||
return MemoryCard::Open(
|
||||
g_settings.GetGameMemoryCardPath(MemoryCard::SanitizeGameTitleForFileName(file_title).c_str(), slot));
|
||||
}
|
||||
|
@ -2951,15 +2956,22 @@ std::unique_ptr<MemoryCard> System::GetMemoryCardForSlot(u32 slot, MemoryCardTyp
|
|||
|
||||
case MemoryCardType::Shared:
|
||||
{
|
||||
Host::RemoveKeyedOSDMessage(std::move(message_key));
|
||||
return MemoryCard::Open(g_settings.GetSharedMemoryCardPath(slot));
|
||||
}
|
||||
|
||||
case MemoryCardType::NonPersistent:
|
||||
{
|
||||
Host::RemoveKeyedOSDMessage(std::move(message_key));
|
||||
return MemoryCard::Create();
|
||||
}
|
||||
|
||||
case MemoryCardType::None:
|
||||
default:
|
||||
{
|
||||
Host::RemoveKeyedOSDMessage(std::move(message_key));
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue