mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-03-12 06:39:14 +01:00
GCMemcard: Split out MemoryCardBase into its own header, which is the base class for the raw and folder memory cards and has little to do with the actual memory card data structures.
This commit is contained in:
parent
f9f4734237
commit
2e1bfe073c
@ -221,6 +221,7 @@ add_library(core
|
||||
HW/GCMemcard/GCIFile.h
|
||||
HW/GCMemcard/GCMemcard.cpp
|
||||
HW/GCMemcard/GCMemcard.h
|
||||
HW/GCMemcard/GCMemcardBase.h
|
||||
HW/GCMemcard/GCMemcardDirectory.cpp
|
||||
HW/GCMemcard/GCMemcardDirectory.h
|
||||
HW/GCMemcard/GCMemcardRaw.cpp
|
||||
|
@ -514,6 +514,7 @@
|
||||
<ClInclude Include="HW\GCKeyboardEmu.h" />
|
||||
<ClInclude Include="HW\GCMemcard\GCIFile.h" />
|
||||
<ClInclude Include="HW\GCMemcard\GCMemcard.h" />
|
||||
<ClInclude Include="HW\GCMemcard\GCMemcardBase.h" />
|
||||
<ClInclude Include="HW\GCMemcard\GCMemcardDirectory.h" />
|
||||
<ClInclude Include="HW\GCMemcard\GCMemcardRaw.h" />
|
||||
<ClInclude Include="HW\GCPad.h" />
|
||||
|
@ -1245,6 +1245,9 @@
|
||||
<ClInclude Include="HW\GCMemcard\GCMemcard.h">
|
||||
<Filter>HW %28Flipper/Hollywood%29\GCMemcard</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="HW\GCMemcard\GCMemcardBase.h">
|
||||
<Filter>HW %28Flipper/Hollywood%29\GCMemcard</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="HW\GCMemcard\GCMemcardDirectory.h">
|
||||
<Filter>HW %28Flipper/Hollywood%29\GCMemcard</Filter>
|
||||
</ClInclude>
|
||||
|
@ -158,28 +158,6 @@ constexpr u8 MEMORY_CARD_ICON_FORMAT_CI8_UNIQUE_PALETTE = 3;
|
||||
// each palette entry is 16 bits in RGB5A3 format
|
||||
constexpr u32 MEMORY_CARD_CI8_PALETTE_ENTRIES = 256;
|
||||
|
||||
class MemoryCardBase
|
||||
{
|
||||
public:
|
||||
explicit MemoryCardBase(int card_index = 0, int size_mbits = MBIT_SIZE_MEMORY_CARD_2043)
|
||||
: m_card_index(card_index), m_nintendo_card_id(size_mbits)
|
||||
{
|
||||
}
|
||||
virtual ~MemoryCardBase() {}
|
||||
virtual s32 Read(u32 src_address, s32 length, u8* dest_address) = 0;
|
||||
virtual s32 Write(u32 dest_address, s32 length, const u8* src_address) = 0;
|
||||
virtual void ClearBlock(u32 address) = 0;
|
||||
virtual void ClearAll() = 0;
|
||||
virtual void DoState(PointerWrap& p) = 0;
|
||||
u32 GetCardId() const { return m_nintendo_card_id; }
|
||||
bool IsAddressInBounds(u32 address) const { return address <= (m_memory_card_size - 1); }
|
||||
|
||||
protected:
|
||||
int m_card_index;
|
||||
u16 m_nintendo_card_id;
|
||||
u32 m_memory_card_size;
|
||||
};
|
||||
|
||||
struct GCMBlock
|
||||
{
|
||||
GCMBlock();
|
||||
|
33
Source/Core/Core/HW/GCMemcard/GCMemcardBase.h
Normal file
33
Source/Core/Core/HW/GCMemcard/GCMemcardBase.h
Normal file
@ -0,0 +1,33 @@
|
||||
// Copyright 2020 Dolphin Emulator Project
|
||||
// Licensed under GPLv2+
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Common/CommonTypes.h"
|
||||
|
||||
#include "Core/HW/GCMemcard/GCMemcard.h"
|
||||
|
||||
class PointerWrap;
|
||||
|
||||
class MemoryCardBase
|
||||
{
|
||||
public:
|
||||
explicit MemoryCardBase(int card_index = 0, int size_mbits = MBIT_SIZE_MEMORY_CARD_2043)
|
||||
: m_card_index(card_index), m_nintendo_card_id(size_mbits)
|
||||
{
|
||||
}
|
||||
virtual ~MemoryCardBase() = default;
|
||||
virtual s32 Read(u32 src_address, s32 length, u8* dest_address) = 0;
|
||||
virtual s32 Write(u32 dest_address, s32 length, const u8* src_address) = 0;
|
||||
virtual void ClearBlock(u32 address) = 0;
|
||||
virtual void ClearAll() = 0;
|
||||
virtual void DoState(PointerWrap& p) = 0;
|
||||
u32 GetCardId() const { return m_nintendo_card_id; }
|
||||
bool IsAddressInBounds(u32 address) const { return address <= (m_memory_card_size - 1); }
|
||||
|
||||
protected:
|
||||
int m_card_index;
|
||||
u16 m_nintendo_card_id;
|
||||
u32 m_memory_card_size;
|
||||
};
|
@ -12,6 +12,7 @@
|
||||
#include "Common/Event.h"
|
||||
#include "Core/HW/GCMemcard/GCIFile.h"
|
||||
#include "Core/HW/GCMemcard/GCMemcard.h"
|
||||
#include "Core/HW/GCMemcard/GCMemcardBase.h"
|
||||
|
||||
// Uncomment this to write the system data of the memorycard from directory to disc
|
||||
//#define _WRITE_MC_HEADER 1
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "Common/Event.h"
|
||||
#include "Common/Flag.h"
|
||||
#include "Core/HW/GCMemcard/GCMemcard.h"
|
||||
#include "Core/HW/GCMemcard/GCMemcardBase.h"
|
||||
|
||||
class PointerWrap;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user