diff options
| author | Léo Lam <leo@leolam.fr> | 2020-11-12 16:03:03 +0100 |
|---|---|---|
| committer | Léo Lam <leo@leolam.fr> | 2020-11-14 21:06:08 +0100 |
| commit | ffe38d0076fd487bae46edd092171469ec08d439 (patch) | |
| tree | 16c4f06dc454e2c81d67133355184022397198d6 /src/KingSystem/ActorSystem/actActorParam.h | |
| parent | d9356ffa90f2b6c819b00bfc7905763aea8c39bc (diff) | |
ksys/act: Implement more ActorParamMgr functions
Diffstat (limited to 'src/KingSystem/ActorSystem/actActorParam.h')
| -rw-r--r-- | src/KingSystem/ActorSystem/actActorParam.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/KingSystem/ActorSystem/actActorParam.h b/src/KingSystem/ActorSystem/actActorParam.h index 88f563ec..fe93b944 100644 --- a/src/KingSystem/ActorSystem/actActorParam.h +++ b/src/KingSystem/ActorSystem/actActorParam.h @@ -40,6 +40,8 @@ class UMii; namespace act { +class ActorParamMgr; + // FIXME: incomplete class ActorParam : public sead::hostio::Node { public: @@ -69,8 +71,15 @@ public: LifeCondition = 22, UMii = 23, AnimationInfo = 24, + AS = 25, + AttClient = 26, + RagdollConfig = 27, }; + static constexpr bool isValidType(ResourceType type) { + return type <= ResourceType::AnimationInfo; + } + union Resources { struct { res::ActorLink* mActorLink; @@ -112,7 +121,7 @@ public: Priority getPriority() const { return mPriority; } const Resources& getRes() const { return mRes; } - bool isDummyParam(res::ActorLink::Users::User user) const; + bool isDummyParam(res::ActorLink::User user) const; static void resetDummyResources(); @@ -141,7 +150,15 @@ private: bool setPriority(const sead::SafeString& priority); void setProfileAndPriority(const char* profile, const char* priority); - u16 _8 = 0; + void setResourceIfValidType(ResourceType type, ParamIO* param_io) { + if (isValidType(type)) + setResource(type, param_io); + } + + void onLoadFinished(ActorParamMgr* mgr); + + u8 _8 = 0; + u8 _9 = 0; u8 _a = 0; sead::FixedSafeString<64> mActorName; sead::SafeString mProfile; |
