mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-08-04 23:29:17 +00:00
Use Slot in EXI devices
This commit is contained in:
parent
3f0b23ed2b
commit
777bb4d82c
25 changed files with 219 additions and 168 deletions
|
@ -43,6 +43,7 @@
|
|||
#include "Core/DSP/DSPCore.h"
|
||||
#include "Core/HW/CPU.h"
|
||||
#include "Core/HW/DVD/DVDInterface.h"
|
||||
#include "Core/HW/EXI/EXI.h"
|
||||
#include "Core/HW/EXI/EXI_DeviceIPL.h"
|
||||
#include "Core/HW/EXI/EXI_DeviceMemoryCard.h"
|
||||
#include "Core/HW/ProcessorInterface.h"
|
||||
|
@ -433,9 +434,17 @@ bool IsStartingFromClearSave()
|
|||
return s_bClearSave;
|
||||
}
|
||||
|
||||
bool IsUsingMemcard(int memcard)
|
||||
bool IsUsingMemcard(ExpansionInterface::Slot slot)
|
||||
{
|
||||
return (s_memcards & (1 << memcard)) != 0;
|
||||
switch (slot)
|
||||
{
|
||||
case ExpansionInterface::Slot::A:
|
||||
return (s_memcards & 1) != 0;
|
||||
case ExpansionInterface::Slot::B:
|
||||
return (s_memcards & 2) != 0;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool IsNetPlayRecording()
|
||||
|
@ -1456,9 +1465,9 @@ void GetSettings()
|
|||
}
|
||||
else
|
||||
{
|
||||
const auto gci_folder_has_saves = [](int card_index) {
|
||||
const auto gci_folder_has_saves = [](ExpansionInterface::Slot card_slot) {
|
||||
const auto [path, migrate] = ExpansionInterface::CEXIMemoryCard::GetGCIFolderPath(
|
||||
card_index, ExpansionInterface::AllowMovieFolder::No);
|
||||
card_slot, ExpansionInterface::AllowMovieFolder::No);
|
||||
const u64 number_of_saves = File::ScanDirectoryTree(path, false).size;
|
||||
return number_of_saves > 0;
|
||||
};
|
||||
|
@ -1466,8 +1475,8 @@ void GetSettings()
|
|||
s_bClearSave =
|
||||
!(slot_a_has_raw_memcard && File::Exists(Config::Get(Config::MAIN_MEMCARD_A_PATH))) &&
|
||||
!(slot_b_has_raw_memcard && File::Exists(Config::Get(Config::MAIN_MEMCARD_B_PATH))) &&
|
||||
!(slot_a_has_gci_folder && gci_folder_has_saves(0)) &&
|
||||
!(slot_b_has_gci_folder && gci_folder_has_saves(1));
|
||||
!(slot_a_has_gci_folder && gci_folder_has_saves(ExpansionInterface::Slot::A)) &&
|
||||
!(slot_b_has_gci_folder && gci_folder_has_saves(ExpansionInterface::Slot::B));
|
||||
}
|
||||
s_memcards |= (slot_a_has_raw_memcard || slot_a_has_gci_folder) << 0;
|
||||
s_memcards |= (slot_b_has_raw_memcard || slot_b_has_gci_folder) << 1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue