mirror of
https://github.com/zeldaret/botw
synced 2026-06-25 09:22:29 -04:00
ksys/act: Implement more ActorParamMgr functions
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
#include <prim/seadSafeString.h>
|
||||
#include <prim/seadTypedBitFlag.h>
|
||||
#include <thread/seadCriticalSection.h>
|
||||
#include "KingSystem/ActorSystem/actActorParam.h"
|
||||
#include "KingSystem/Resource/resHandle.h"
|
||||
#include "KingSystem/System/DebugMessage.h"
|
||||
#include "KingSystem/System/KingEditor.h"
|
||||
@@ -14,13 +15,13 @@
|
||||
namespace ksys {
|
||||
|
||||
namespace res {
|
||||
class Archive;
|
||||
class GParamList;
|
||||
class LoadRequest;
|
||||
} // namespace res
|
||||
|
||||
namespace act {
|
||||
|
||||
class ActorParam;
|
||||
|
||||
// FIXME: incomplete
|
||||
class ActorParamMgr final : public sead::hostio::Node, public KingEditorComponent {
|
||||
SEAD_SINGLETON_DISPOSER(ActorParamMgr)
|
||||
@@ -35,10 +36,14 @@ public:
|
||||
sead::Heap* getDebugHeap() const { return mDebugHeap; }
|
||||
sead::Heap* getTmpActorParamMgrHeap() const { return mTmpActorParamMgrHeap; }
|
||||
|
||||
bool checkPath(const sead::SafeString& path) const;
|
||||
|
||||
void init(sead::Heap* heap, sead::Heap* debug_heap);
|
||||
|
||||
ActorParam* allocParam(const char* actor_name, bool* allocated_new);
|
||||
ActorParam* getParam(const char* actor_name, ActorParam** out_free_param) const;
|
||||
ActorParam* loadParam(const char* actor_name, res::Handle* handle, void* x, u32 load_req_c);
|
||||
void unloadParam(ActorParam* param);
|
||||
|
||||
res::GParamList* getDummyGParamList() const;
|
||||
|
||||
@@ -50,9 +55,25 @@ private:
|
||||
_5 = _1 | _4,
|
||||
};
|
||||
|
||||
void loadFiles(ActorParam* param, sead::Heap* heap, res::Handle* handle, void* x,
|
||||
void loadFiles(ActorParam* param, sead::Heap* heap, res::Handle* pack_handle, void* x,
|
||||
u32 load_req_c);
|
||||
bool loadActorPack(res::Handle* handle, const sead::SafeString& actor_name, u32 load_req_c);
|
||||
bool requestLoadActorPack(res::Handle* handle, const sead::SafeString& actor_name,
|
||||
u32 load_req_c);
|
||||
bool prepareLoadFromActorPack(sead::BufferedSafeString* path, res::LoadRequest* req, void* x,
|
||||
const sead::SafeString& dir_name,
|
||||
const sead::SafeString& extension,
|
||||
const sead::SafeString& file_name, res::Handle* pack_handle,
|
||||
u32 load_req_c, const sead::SafeString& requester);
|
||||
res::Archive* loadActorPack(res::Handle* handle, const sead::SafeString& actor_name,
|
||||
u32 load_req_c);
|
||||
|
||||
template <typename T>
|
||||
T* loadFile(ActorParam* param, ActorParam::ResourceType type, const char* dir_name_c,
|
||||
const char* extension_c, const char* name_c, res::Handle* pack_handle, void* x,
|
||||
u32 load_req_c);
|
||||
|
||||
void loadFilesStep2(ActorParam* param, sead::Heap* heap, res::Handle* pack_handle, void* x,
|
||||
u32 load_req_c);
|
||||
|
||||
static constexpr s32 NumParams = 0x400;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user