mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 13:07:42 +00:00
Lots of CResFactory fixes
This commit is contained in:
@@ -13,6 +13,7 @@ class CObjectReference;
|
||||
class CResLoader;
|
||||
class CFactoryMgr;
|
||||
class CSimplePool;
|
||||
class IDvdRequest;
|
||||
|
||||
using CFactoryFnReturn = std::unique_ptr<IObj>;
|
||||
using FFactoryFunc = std::function<CFactoryFnReturn(const urde::SObjectTag& tag,
|
||||
@@ -36,15 +37,15 @@ public:
|
||||
virtual FourCC GetResourceTypeById(CAssetId id) const=0;
|
||||
virtual void EnumerateResources(const std::function<bool(const SObjectTag&)>& lambda) const=0;
|
||||
virtual void EnumerateNamedResources(const std::function<bool(const std::string&, const SObjectTag&)>& lambda) const=0;
|
||||
virtual CResLoader* GetResLoader() const { return nullptr; }
|
||||
virtual CFactoryMgr* GetFactoryMgr() const { return nullptr; }
|
||||
virtual CResLoader* GetResLoader() { return nullptr; }
|
||||
virtual CFactoryMgr* GetFactoryMgr() { return nullptr; }
|
||||
virtual void LoadOriginalIDs(CSimplePool& sp) {}
|
||||
virtual void AsyncIdle() {}
|
||||
|
||||
/* Non-factory versions, replaces CResLoader */
|
||||
virtual u32 ResourceSize(const urde::SObjectTag& tag)=0;
|
||||
//virtual bool LoadResourceAsync(const urde::SObjectTag& tag, std::unique_ptr<u8[]>& target)=0;
|
||||
//virtual bool LoadResourcePartAsync(const urde::SObjectTag& tag, u32 size, u32 off, std::unique_ptr<u8[]>& target)=0;
|
||||
virtual std::shared_ptr<IDvdRequest> LoadResourceAsync(const urde::SObjectTag& tag, void* target)=0;
|
||||
virtual std::shared_ptr<IDvdRequest> LoadResourcePartAsync(const urde::SObjectTag& tag, u32 size, u32 off, void* target)=0;
|
||||
virtual std::unique_ptr<u8[]> LoadResourceSync(const urde::SObjectTag& tag)=0;
|
||||
virtual std::unique_ptr<u8[]> LoadResourcePartSync(const urde::SObjectTag& tag, u32 size, u32 off)=0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user