metaforce/Runtime/CMemoryCardSys.hpp

56 lines
1.3 KiB
C++
Raw Normal View History

2016-04-12 23:07:23 -07:00
#ifndef __URDE_CMEMORYCARDSYS_HPP__
#define __URDE_CMEMORYCARDSYS_HPP__
2015-08-16 22:26:58 -07:00
2016-09-24 18:58:20 -07:00
#include "CToken.hpp"
#include "World/CWorld.hpp"
#include "CGameHintInfo.hpp"
#include <vector>
2016-03-04 15:04:53 -08:00
namespace urde
{
2016-09-24 18:58:20 -07:00
class CDummyWorld;
class CSaveWorld;
class CSaveWorldMemory
{
ResId x0_mlvlId = -1;
ResId x4_unk = -1;
ResId x8_savwId;
std::vector<u32> xc_;
std::vector<u32> x1c_;
std::unique_ptr<CDummyWorld> x2c_dummyWorld;
TLockedToken<CSaveWorld> x3c_saveWorld; /* Used to be auto_ptr */
public:
ResId GetWorldAssetId() const { return x0_mlvlId; }
ResId GetSaveWorldAssetId() const { return x8_savwId; }
CSaveWorldMemory(ResId mlvl, ResId savw);
};
/* TODO: figure out */
class CMemorySomethingElse
{
u32 x0_;
u32 x4_;
u32 x8_;
std::vector<u32> xc_;
std::vector<u32> x1c_;
std::unique_ptr<u32> x2c_;
std::unique_ptr<u32> x34_;
};
2015-08-16 22:26:58 -07:00
class CMemoryCardSys
{
2016-09-24 18:58:20 -07:00
TLockedToken<CGameHintInfo> x0_hints;
std::vector<CSaveWorldMemory> xc_memoryWorlds;
std::vector<CMemorySomethingElse> x1c_; /* used to be auto_ptr of vector */
public:
const std::vector<CGameHintInfo::CGameHint>& GetHints() const { return x0_hints->GetHints(); }
const std::vector<CSaveWorldMemory>& GetMemoryWorlds() const { return xc_memoryWorlds; }
CMemoryCardSys();
2015-08-16 22:26:58 -07:00
};
}
2016-04-12 23:07:23 -07:00
#endif // __URDE_CMEMORYCARDSYS_HPP__