1#pragma once
2
3#include <math/seadMatrix.h>
4#include <math/seadVector.h>
5
6namespace al {
7class JointAimInfo;
8class JointControllerBase;
9class JointDirectionInfo;
10class JointLocalAxisRotator;
11class JointLookAtController;
12class JointMasher;
13class JointSpringController;
14class JointTranslateShaker;
15class LiveActor;
16
17void initJointControllerKeeper(const LiveActor*, s32);
18void isExistJointControllerKeeper(const LiveActor*);
19void registerJointController(const LiveActor*, JointControllerBase*);
20void registerJointController(const LiveActor*, JointControllerBase*, const char*);
21void initJointLocalRotator(const LiveActor*, sead::Vector3f*, const char*);
22void initJointLocalXRotator(const LiveActor*, const f32*, const char*);
23void initJointLocalYRotator(const LiveActor*, const f32*, const char*);
24void initJointLocalZRotator(const LiveActor*, const f32*, const char*);
25JointLocalAxisRotator* initJointLocalAxisRotator(const LiveActor*, const sead::Vector3f&,
26 const f32*, const char*, bool);
27void initJointLocalMinusXRotator(const LiveActor*, const f32*, const char*);
28void initJointLocalMinusYRotator(const LiveActor*, const f32*, const char*);
29void initJointLocalMinusZRotator(const LiveActor*, const f32*, const char*);
30void initJointGlobalXRotator(const LiveActor*, f32*, const char*);
31void initJointGlobalAxisRotator(const LiveActor*, const sead::Vector3f&, f32*, const char*);
32void initJointGlobalYRotator(const LiveActor*, f32*, const char*);
33void initJointGlobalZRotator(const LiveActor*, f32*, const char*);
34void initJointGlobalMinusXRotator(const LiveActor*, f32*, const char*);
35void initJointGlobalMinusYRotator(const LiveActor*, f32*, const char*);
36void initJointGlobalMinusZRotator(const LiveActor*, f32*, const char*);
37void initJointLocalTransControllerX(const LiveActor*, const f32*, const char*);
38void initJointLocalTransControllerY(const LiveActor*, const f32*, const char*);
39void initJointLocalTransControllerZ(const LiveActor*, const f32*, const char*);
40void initJointLocalTransController(const LiveActor*, const sead::Vector3f*, const char*);
41void initJointLocalScaleControllerX(const LiveActor*, const f32*, const char*);
42void initJointLocalScaleControllerY(const LiveActor*, const f32*, const char*);
43void initJointLocalScaleControllerZ(const LiveActor*, const f32*, const char*);
44void initJointLocalScaleController(const LiveActor*, const sead::Vector3f*, const char*);
45void initJointLocalMtxController(const LiveActor*, const sead::Matrix34f*, const char*);
46void initJointGlobalMtxController(const LiveActor*, const sead::Matrix34f*, const char*);
47void initJointGlobalQuatController(const LiveActor*, const sead::Quatf*, const char*);
48void initJointGlobalQuatTransController(const LiveActor*, const sead::Quatf*, const sead::Vector3f*,
49 const char*);
50void initJointPostQuatController(const LiveActor*, const sead::Quatf*, const char*);
51void initJointLocalDirController(const LiveActor*, const JointDirectionInfo*, const char*);
52void initJointAimController(const LiveActor*, const JointAimInfo*, const char*);
53void initJointTranslateShaker(const LiveActor*, s32);
54void appendJointTranslateShakerX(JointTranslateShaker*, const char*);
55void appendJointTranslateShakerY(JointTranslateShaker*, const char*);
56void appendJointTranslateShakerZ(JointTranslateShaker*, const char*);
57void initJointMasher(const LiveActor*, const bool*, s32);
58void appendMashJoint(JointMasher*, const char*, f32);
59void initJointRumbler(const LiveActor*, const char*, f32, f32, u32, s32);
60void initJointLocalQuatRotator(const LiveActor*, const char*, const sead::Quatf*);
61void initJointLookAtController(const LiveActor*, s32);
62void appendJointLookAtController(JointLookAtController*, const LiveActor*, const char*, f32,
63 const sead::Vector2f&, const sead::Vector2f&,
64 const sead::Vector3f&, const sead::Vector3f&);
65void appendJointLookAtControllerNoJudge(JointLookAtController*, const LiveActor*, const char*, f32,
66 const sead::Vector2f&, const sead::Vector2f&,
67 const sead::Vector3f&, const sead::Vector3f&);
68void appendJointLookAtControllerNoJudgeNoOverLimitYaw(JointLookAtController*, const LiveActor*,
69 const char*, f32, const sead::Vector2f&,
70 const sead::Vector2f&, const sead::Vector3f&,
71 const sead::Vector3f&);
72void initJointGroundSmoothController(const LiveActor*, const char*);
73void initJointPosToPosController(const LiveActor*, const char*, const sead::Vector3f*,
74 const sead::Vector3f*, f32*, const sead::Vector3f&);
75JointSpringController* initJointSpringController(const LiveActor*, const char*);
76void initJointConstrainedSpringController(const LiveActor*, const char*);
77void initJointSpringTransController(const LiveActor*, const char*);
78void initJointSimpleIK(const LiveActor*, const char*);
79} // namespace al
80