mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-16 11:15:47 -04:00
CommonHostInterface: Add swap memory cards hotkey
This commit is contained in:
@ -293,6 +293,14 @@ void Pad::SetMemoryCard(u32 slot, std::unique_ptr<MemoryCard> dev)
|
||||
m_memory_cards[slot] = std::move(dev);
|
||||
}
|
||||
|
||||
std::unique_ptr<MemoryCard> Pad::RemoveMemoryCard(u32 slot)
|
||||
{
|
||||
std::unique_ptr<MemoryCard> ret = std::move(m_memory_cards[slot]);
|
||||
if (ret)
|
||||
ret->Reset();
|
||||
return ret;
|
||||
}
|
||||
|
||||
u32 Pad::ReadRegister(u32 offset)
|
||||
{
|
||||
switch (offset)
|
||||
|
@ -28,6 +28,7 @@ public:
|
||||
|
||||
MemoryCard* GetMemoryCard(u32 slot) { return m_memory_cards[slot].get(); }
|
||||
void SetMemoryCard(u32 slot, std::unique_ptr<MemoryCard> dev);
|
||||
std::unique_ptr<MemoryCard> RemoveMemoryCard(u32 slot);
|
||||
|
||||
Multitap* GetMultitap(u32 slot) { return &m_multitaps[slot]; };
|
||||
|
||||
|
@ -1836,6 +1836,19 @@ void UpdateMemoryCards()
|
||||
}
|
||||
}
|
||||
|
||||
bool HasMemoryCard(u32 slot)
|
||||
{
|
||||
return (g_pad.GetMemoryCard(slot) != nullptr);
|
||||
}
|
||||
|
||||
void SwapMemoryCards()
|
||||
{
|
||||
std::unique_ptr<MemoryCard> first = g_pad.RemoveMemoryCard(0);
|
||||
std::unique_ptr<MemoryCard> second = g_pad.RemoveMemoryCard(1);
|
||||
g_pad.SetMemoryCard(0, std::move(second));
|
||||
g_pad.SetMemoryCard(1, std::move(first));
|
||||
}
|
||||
|
||||
void UpdateMultitaps()
|
||||
{
|
||||
switch (g_settings.multitap_mode)
|
||||
|
@ -181,6 +181,8 @@ void UpdateControllers();
|
||||
void UpdateControllerSettings();
|
||||
void ResetControllers();
|
||||
void UpdateMemoryCards();
|
||||
bool HasMemoryCard(u32 slot);
|
||||
void SwapMemoryCards();
|
||||
void UpdateMultitaps();
|
||||
|
||||
/// Dumps RAM to a file.
|
||||
|
Reference in New Issue
Block a user