2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 21:07:42 +00:00

Initial round of particle runtime implementations

This commit is contained in:
Jack Andersen
2016-02-04 15:27:03 -10:00
parent cf2464a02b
commit 7a35dac972
46 changed files with 885 additions and 146 deletions

View File

@@ -4,6 +4,7 @@
#include <unordered_map>
#include "IFactory.hpp"
#include "CResLoader.hpp"
#include "IVParamObj.hpp"
namespace Retro
{
@@ -15,15 +16,16 @@ class CResFactory : public IFactory
public:
struct SLoadingData
{
SObjectTag tag;
IDvdRequest* dvdReq;
IObj** targetPtr;
void* loadBuffer;
u32 resSize;
SObjectTag x0_tag;
IDvdRequest* x8_dvdReq;
IObj** xc_targetPtr;
void* x10_loadBuffer;
u32 x14_resSize;
CVParamTransfer x18_cvXfer;
};
private:
std::unordered_map<SObjectTag, SLoadingData> m_loadList;
void AddToLoadList(const SLoadingData& data) {m_loadList[data.tag] = data;}
void AddToLoadList(const SLoadingData& data) {m_loadList[data.x0_tag] = data;}
public:
CResLoader& GetLoader() {return x4_loader;}
std::unique_ptr<IObj> Build(const SObjectTag&, const CVParamTransfer&);