1#pragma once
2
3#include <math/seadMatrix.h>
4#include <prim/seadSafeString.h>
5
6namespace sead {
7class Color4f;
8}
9
10namespace alNerveFunction {
11class NerveActionCollector;
12}
13
14namespace al {
15struct ActorInitInfo;
16class ActorResource;
17class ByamlIter;
18class HitSensor;
19class LiveActor;
20class Nerve;
21class PlacementInfo;
22class Resource;
23class ShadowMaskBase;
24
25void initActorSceneInfo(LiveActor* actor, const ActorInitInfo& info);
26void initExecutorUpdate(LiveActor* actor, const ActorInitInfo& info, const char*);
27void initExecutorDraw(LiveActor* actor, const ActorInitInfo& info, const char*);
28void initExecutorPlayer(LiveActor* actor, const ActorInitInfo& info);
29void initExecutorPlayerPreMovement(LiveActor* actor, const ActorInitInfo& info);
30void initExecutorPlayerMovement(LiveActor* actor, const ActorInitInfo& info);
31void initExecutorPlayerModel(LiveActor* actor, const ActorInitInfo& info);
32void initExecutorPlayerDecoration(LiveActor* actor, const ActorInitInfo& info);
33void initExecutorEnemy(LiveActor* actor, const ActorInitInfo& info);
34void initExecutorEnemyMovement(LiveActor* actor, const ActorInitInfo& info);
35void initExecutorEnemyDecoration(LiveActor* actor, const ActorInitInfo& info);
36void initExecutorEnemyDecorationMovement(LiveActor* actor, const ActorInitInfo& info);
37void initExecutorMapObj(LiveActor* actor, const ActorInitInfo& info);
38void initExecutorMapObjMovement(LiveActor* actor, const ActorInitInfo& info);
39void initExecutorMapObjDecoration(LiveActor* actor, const ActorInitInfo& info);
40void initExecutorNpcDecoration(LiveActor* actor, const ActorInitInfo& info);
41void initExecutorShadowVolume(LiveActor* actor, const ActorInitInfo& info);
42void initExecutorShadowVolumeFillStencil(LiveActor* actor, const ActorInitInfo& info);
43void initExecutorCollisionMapObjDecorationMovement(LiveActor* actor, const ActorInitInfo& info);
44void initExecutorWatchObj(LiveActor* actor, const ActorInitInfo& info);
45void initExecutorDebugMovement(LiveActor* actor, const ActorInitInfo& info);
46void initExecutorModelUpdate(LiveActor* actor, const ActorInitInfo& info);
47void initExecutorDrcAssistMovement(LiveActor* actor, const ActorInitInfo& info);
48void initActorPoseTRSV(LiveActor* actor);
49void initActorPoseTRMSV(LiveActor* actor);
50void initActorPoseTRGMSV(LiveActor* actor);
51void initActorPoseTFSV(LiveActor* actor);
52void initActorPoseTFUSV(LiveActor* actor);
53void initActorPoseTFGSV(LiveActor* actor);
54void initActorPoseTQSV(LiveActor* actor);
55void initActorPoseTQGSV(LiveActor* actor);
56void initActorPoseTQGMSV(LiveActor* actor);
57void initActorSRT(LiveActor* actor, const ActorInitInfo& info);
58void initActorModelKeeper(LiveActor*, const ActorInitInfo&, const ActorResource*, s32);
59void initActorModelKeeper(LiveActor*, const ActorInitInfo&, const char*, s32, const char*);
60void initActorModelKeeperByHost(LiveActor*, const LiveActor*);
61void initActorModelForceCubeMap(LiveActor*, const ActorInitInfo&);
62void initActorActionKeeper(LiveActor*, const ActorInitInfo&, const char*, const char*);
63void initActorActionKeeper(LiveActor*, const ActorResource*, const char*, const char*);
64void initActorEffectKeeper(LiveActor*, const ActorInitInfo&, const char*);
65void initActorSeKeeper(LiveActor*, const ActorInitInfo&, const char*, const sead::Vector3f*,
66 const sead::Matrix34f*);
67void initActorSeKeeper(LiveActor*, const ActorInitInfo&, const char*);
68void initActorSeKeeperWithout3D(LiveActor*, const ActorInitInfo&, const char*);
69void initActorBgmKeeper(LiveActor*, const ActorInitInfo&, const char*);
70bool isInitializedBgmKeeper(LiveActor*);
71void initHitReactionKeeper(LiveActor*, const char*);
72void initHitReactionKeeper(LiveActor*, const Resource*, const char*);
73void initActorParamHolder(LiveActor*, const char*);
74void initActorParamHolder(LiveActor*, const Resource*, const char*);
75void initDepthShadowMapCtrl(LiveActor*, const Resource*, const ActorInitInfo&, const char*);
76void initDepthShadowMapCtrlWithoutIter(LiveActor*, s32, bool);
77void addDepthShadowMapInfo(const LiveActor*, const char*, s32, s32, s32, f32, bool,
78 const sead::Vector3f&, bool, const sead::Vector3f&,
79 const sead::Vector3f&, bool, const char*, s32, bool, f32, f32, f32, bool,
80 bool, f32, s32, bool);
81void declareUseDepthShadowMap(const LiveActor*, s32);
82void createDepthShadowMap(const LiveActor*, const char*, s32, s32, s32);
83void initShadowMaskCtrl(LiveActor*, const ActorInitInfo&, const ByamlIter&, const char*);
84void initShadowMaskCtrlWithoutInitFile(LiveActor*, const ActorInitInfo&, s32);
85void createShadowMaskSphere(LiveActor*, const char*, const char*, const char*);
86void createShadowMaskCube(LiveActor*, const char*, const char*, const char*, const sead::Color4f&,
87 const sead::Vector3f&, f32, f32, f32, const sead::Vector3f&, f32);
88void createShadowMaskCylinder(LiveActor*, const char*, const char*, const char*,
89 const sead::Color4f&, const sead::Vector3f&, f32, f32, f32, f32, f32);
90void createShadowMaskCastOvalCylinder(LiveActor*, const char*, const char*, const char*,
91 const sead::Color4f&, const sead::Vector3f&,
92 const sead::Vector3f&, f32, f32, f32, f32);
93void initActorCollision(LiveActor*, const sead::SafeString&, HitSensor*, const sead::Matrix34f*);
94void initActorCollisionWithResource(LiveActor*, const Resource*, const sead::SafeString&,
95 HitSensor*, const sead::Matrix34f*, const char*);
96void initActorCollisionWithArchiveName(LiveActor*, const sead::SafeString&, const sead::SafeString&,
97 HitSensor*, const sead::Matrix34f*);
98void initActorCollisionWithFilePtr(LiveActor*, void*, const void*, HitSensor*,
99 const sead::Matrix34f*, const char*, const char*, s32);
100void initStageSwitch(LiveActor*, const ActorInitInfo&);
101void initActorItemKeeper(LiveActor*, const ActorInitInfo&, const ByamlIter&);
102bool initActorPrePassLightKeeper(LiveActor*, const Resource*, const ActorInitInfo&, const char*);
103void initActorOcclusionKeeper(LiveActor*, const Resource*, const ActorInitInfo&, const char*);
104void initSubActorKeeper(LiveActor*, const ActorInitInfo&, const char*, s32);
105void initSubActorKeeperNoFile(LiveActor*, const ActorInitInfo&, s32);
106void registerSubActor(LiveActor*, LiveActor*);
107void registerSubActorSyncClipping(LiveActor*, LiveActor*);
108void registerSubActorSyncClippingAndHide(LiveActor*, LiveActor*);
109void registerSubActorSyncAll(LiveActor*, LiveActor*);
110void setSubActorOffSyncClipping(LiveActor*);
111void initScreenPointKeeper(LiveActor*, const Resource*, const ActorInitInfo&, const char*);
112void initScreenPointKeeperNoYaml(LiveActor*, s32);
113void initActorMaterialCategory(LiveActor*, const ActorInitInfo&, const char*);
114} // namespace al
115