mirror of https://github.com/zeldaret/botw.git
ksys/res: Implement register/unregisterFactory
This commit is contained in:
parent
f8d110ce28
commit
92ed3dbddb
|
@ -93154,8 +93154,8 @@
|
|||
0x000000710120727c,res::ResourceMgrTask::defragAllMemoryMgr,800,
|
||||
0x000000710120759c,res::ResourceMgrTask::__auto7,20,_ZNK4ksys3res15ResourceMgrTask12isDefragDoneEv
|
||||
0x00000071012075b0,res::ResourceMgrTask::getDefragProgress,104,_ZNK4ksys3res15ResourceMgrTask17getDefragProgressEv
|
||||
0x0000007101207618,sub_7101207618,80,
|
||||
0x0000007101207668,sub_7101207668,64,
|
||||
0x0000007101207618,sub_7101207618,80,_ZN4ksys3res15ResourceMgrTask15registerFactoryEPN4sead15ResourceFactoryERKNS2_14SafeStringBaseIcEE
|
||||
0x0000007101207668,sub_7101207668,64,_ZN4ksys3res15ResourceMgrTask17unregisterFactoryEPN4sead15ResourceFactoryE
|
||||
0x00000071012076a8,res::ResourceMgrTask::getCacheIdx,956,
|
||||
0x0000007101207a64,stringPathManipulationStuff,1284,
|
||||
0x0000007101207f68,sub_7101207F68,680,_ZNK4sead8ObjArrayINS_14SafeStringBaseIcEEE12binarySearchEPKS2_?
|
||||
|
@ -93317,8 +93317,8 @@
|
|||
0x00000071012130c8,sub_71012130C8,8,_ZN4ksys3res19ResourceUnitMapNode6erase_Ev
|
||||
0x00000071012130d0,sub_71012130D0,116,
|
||||
0x0000007101213144,isResourceMgrOom,16,
|
||||
0x0000007101213154,res::registerEntryFactory,32,
|
||||
0x0000007101213174,res::unregisterEntryFactory,24,
|
||||
0x0000007101213154,res::registerEntryFactory,32,_ZN4ksys3res20registerEntryFactoryEPNS0_16EntryFactoryBaseERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007101213174,res::unregisterEntryFactory,24,_ZN4ksys3res22unregisterEntryFactoryEPNS0_16EntryFactoryBaseE
|
||||
0x000000710121318c,res::setResourceMgrPack,24,
|
||||
0x00000071012131a4,res::clearAllCaches,16,
|
||||
0x00000071012131b4,res::clearAllCaches2,16,
|
||||
|
|
Can't render this file because it is too large.
|
|
@ -150,6 +150,17 @@ f32 ResourceMgrTask::getDefragProgress() const {
|
|||
return f32(_4cc) / f32(_4c8);
|
||||
}
|
||||
|
||||
void ResourceMgrTask::registerFactory(sead::ResourceFactory* factory,
|
||||
const sead::SafeString& name) {
|
||||
auto lock = sead::makeScopedLock(mFactoryCS);
|
||||
sead::ResourceMgr::instance()->registerFactory(factory, name);
|
||||
}
|
||||
|
||||
void ResourceMgrTask::unregisterFactory(sead::ResourceFactory* factory) {
|
||||
auto lock = sead::makeScopedLock(mFactoryCS);
|
||||
sead::ResourceMgr::instance()->unregisterFactory(factory);
|
||||
}
|
||||
|
||||
void ResourceMgrTask::cancelTasks() {
|
||||
stubbedLogFunction();
|
||||
stubbedLogFunction();
|
||||
|
|
|
@ -123,6 +123,9 @@ public:
|
|||
bool isDefragDone() const;
|
||||
f32 getDefragProgress() const;
|
||||
|
||||
void registerFactory(sead::ResourceFactory* factory, const sead::SafeString& name);
|
||||
void unregisterFactory(sead::ResourceFactory* factory);
|
||||
|
||||
s32 getCacheIdx(const sead::SafeString& path) const;
|
||||
|
||||
void cancelTasks();
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "KingSystem/Resource/resSystem.h"
|
||||
#include "KingSystem/Resource/resEntryFactory.h"
|
||||
#include "KingSystem/Resource/resResourceMgrTask.h"
|
||||
|
||||
namespace ksys::res {
|
||||
|
@ -7,6 +8,14 @@ bool stubbedLogFunction() {
|
|||
return true;
|
||||
}
|
||||
|
||||
void registerEntryFactory(EntryFactoryBase* factory, const sead::SafeString& name) {
|
||||
ResourceMgrTask::instance()->registerFactory(factory, name);
|
||||
}
|
||||
|
||||
void unregisterEntryFactory(EntryFactoryBase* factory) {
|
||||
ResourceMgrTask::instance()->unregisterFactory(factory);
|
||||
}
|
||||
|
||||
bool isHostPath(const sead::SafeString& path) {
|
||||
return ResourceMgrTask::instance()->isHostPath(path);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue