2022-10-09 05:13:17 +00:00
|
|
|
#ifndef _CMEMORYCARD
|
|
|
|
#define _CMEMORYCARD
|
2022-09-13 04:26:54 +00:00
|
|
|
|
|
|
|
#include "types.h"
|
|
|
|
|
2022-10-02 10:13:35 +00:00
|
|
|
#include "Kyoto/CObjectReference.hpp"
|
2022-10-04 13:29:05 +00:00
|
|
|
#include "MetroidPrime/TGameTypes.hpp"
|
|
|
|
|
|
|
|
class CWorldSaveGameInfo {
|
|
|
|
// TODO: move to it's own file
|
|
|
|
public:
|
|
|
|
enum EScanCategory { kSC_None, kSC_Data, kSC_Lore, kSC_Creature, kSC_Research, kSC_Artifact };
|
|
|
|
};
|
2022-10-02 10:13:35 +00:00
|
|
|
|
2022-09-13 04:26:54 +00:00
|
|
|
class CMemoryCard {
|
2022-10-01 06:19:09 +00:00
|
|
|
public:
|
|
|
|
~CMemoryCard();
|
2022-09-13 04:26:54 +00:00
|
|
|
// TODO
|
2022-10-02 10:13:35 +00:00
|
|
|
|
2022-10-09 05:37:23 +00:00
|
|
|
rstl::pair< CAssetId, TAreaId > GetAreaAndWorldIdForSaveId(int saveId) const;
|
2022-10-04 13:29:05 +00:00
|
|
|
|
|
|
|
typedef rstl::pair< CAssetId, CWorldSaveGameInfo::EScanCategory > ScanState;
|
|
|
|
const rstl::vector< ScanState >& GetScanStates() const { return x20_scanStates; }
|
|
|
|
|
|
|
|
private:
|
2022-10-09 05:37:23 +00:00
|
|
|
uchar x0_pad[0x20];
|
2022-10-04 13:29:05 +00:00
|
|
|
rstl::vector< ScanState > x20_scanStates;
|
2022-09-13 04:26:54 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
extern CMemoryCard* gpMemoryCard;
|
|
|
|
|
2022-10-09 05:13:17 +00:00
|
|
|
#endif // _CMEMORYCARD
|