blob: 31cdf20be8ea3d8b68c0d7f8f3dd65dc4a07743c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#pragma once
#include <heap/seadDisposer.h>
#include "KingSystem/Utils/Types.h"
namespace al {
class ByamlIter;
}
namespace ksys::act {
class ActorTemplate {
SEAD_SINGLETON_DISPOSER(ActorTemplate)
ActorTemplate() = default;
virtual ~ActorTemplate();
public:
void init(const u8* data, sead::Heap* heap);
bool getActorClass(const char** actor_class, const char* profile) const;
s32 getNumAttPriorityEntries(const char* profile) const;
bool getAttPriority(const char** priority, const char* profile, s32 idx) const;
bool getAttDefPriority(const char** priority, const char* profile) const;
s32 getNumProfiles() const;
const char* getProfileName(s32 idx) const;
al::ByamlIter* getRootIter() const { return mIter; }
private:
al::ByamlIter* mIter = nullptr;
};
KSYS_CHECK_SIZE_NX150(ActorTemplate, 0x30);
} // namespace ksys::act
|