CDImage: Support sub-images, use subimages for m3u
This commit is contained in:
@ -666,20 +666,20 @@ static void DoChangeDiscFromFile()
|
||||
|
||||
static void DoChangeDisc()
|
||||
{
|
||||
const u32 playlist_count = System::GetMediaPlaylistCount();
|
||||
if (playlist_count == 0)
|
||||
if (!System::HasMediaSubImages())
|
||||
{
|
||||
DoChangeDiscFromFile();
|
||||
return;
|
||||
}
|
||||
|
||||
const u32 current_index = (playlist_count > 0) ? System::GetMediaPlaylistIndex() : 0;
|
||||
const u32 current_index = System::GetMediaSubImageIndex();
|
||||
const u32 count = System::GetMediaSubImageCount();
|
||||
ImGuiFullscreen::ChoiceDialogOptions options;
|
||||
options.reserve(playlist_count + 1);
|
||||
options.reserve(count + 1);
|
||||
options.emplace_back("From File...", false);
|
||||
|
||||
for (u32 i = 0; i < playlist_count; i++)
|
||||
options.emplace_back(System::GetMediaPlaylistPath(i), i == current_index);
|
||||
for (u32 i = 0; i < count; i++)
|
||||
options.emplace_back(System::GetMediaSubImageTitle(i), i == current_index);
|
||||
|
||||
auto callback = [](s32 index, const std::string& title, bool checked) {
|
||||
if (index == 0)
|
||||
@ -690,7 +690,7 @@ static void DoChangeDisc()
|
||||
}
|
||||
else if (index > 0)
|
||||
{
|
||||
System::SwitchMediaFromPlaylist(static_cast<u32>(index - 1));
|
||||
System::SwitchMediaSubImage(static_cast<u32>(index - 1));
|
||||
}
|
||||
|
||||
ClearImGuiFocus();
|
||||
@ -1798,10 +1798,10 @@ void DrawSettingsWindow()
|
||||
|
||||
MenuHeading("Shared Settings");
|
||||
|
||||
settings_changed |= ToggleButton(
|
||||
"Use Single Card For Playlist",
|
||||
"When using a playlist (m3u) and per-game (title) memory cards, use a single memory card for all discs.",
|
||||
&s_settings_copy.memory_card_use_playlist_title);
|
||||
settings_changed |= ToggleButton("Use Single Card For Sub-Images",
|
||||
"When using a multi-disc image (m3u/pbp) and per-game (title) memory cards, "
|
||||
"use a single memory card for all discs.",
|
||||
&s_settings_copy.memory_card_use_playlist_title);
|
||||
|
||||
static std::string memory_card_directory;
|
||||
if (memory_card_directory.empty())
|
||||
|
||||
Reference in New Issue
Block a user