1#pragma once
2
3#include <math/seadMatrix.h>
4
5namespace al {
6struct ActorInitInfo;
7class BreakModel;
8class HitSensor;
9class HostSyncTowerCamera;
10class LiveActor;
11class CollisionObj;
12class PartsModel;
13class KeyMoveCameraObj;
14
15CollisionObj* createCollisionObj(const LiveActor* parent, const ActorInitInfo& info,
16 const char* collisionFileName, HitSensor* hitSensor,
17 const char* joinMtxName, const char* suffix);
18CollisionObj* createCollisionObjMtx(const LiveActor* parent, const ActorInitInfo& info,
19 const char* collisionFileName, HitSensor* hitSensor,
20 const sead::Matrix34f* joinMtx, const char* suffix);
21
22PartsModel* createPartsModel(LiveActor*, const ActorInitInfo&, const char*, const char*,
23 const sead::Matrix34f*);
24PartsModel* createPartsModelFile(LiveActor*, const ActorInitInfo&, const char*, const char*,
25 const char*);
26PartsModel* createPartsModelFileSuffix(LiveActor*, const ActorInitInfo&, const char*, const char*,
27 const char*, const char*);
28PartsModel* createSimplePartsModel(LiveActor*, const ActorInitInfo&, const char*, const char*,
29 const char*);
30PartsModel* createSimplePartsModelSuffix(LiveActor*, const ActorInitInfo&, const char*, const char*,
31 const char*, const char*);
32PartsModel* createPartsModelSuffix(LiveActor*, const ActorInitInfo&, const char*, const char*,
33 const char*, const sead::Matrix34f*);
34PartsModel* createPartsModelJoint(LiveActor*, const ActorInitInfo&, const char*, const char*,
35 const char*);
36PartsModel* createPartsModelSuffixJoint(LiveActor*, const ActorInitInfo&, const char*, const char*,
37 const char*, const char*);
38void appearBreakModelRandomRotateY(LiveActor*);
39bool updateSyncHostVisible(bool*, LiveActor*, const LiveActor*, bool);
40bool isTraceModelRandomRotate(const LiveActor* actor);
41BreakModel* createBreakModel(const LiveActor*, const ActorInitInfo&, const char*, const char*,
42 const char*, const sead::Matrix34f*, const char*);
43HostSyncTowerCamera* createHostSyncTowerCamera(LiveActor*, const ActorInitInfo&);
44void activateHostSyncTowerCamera(HostSyncTowerCamera*);
45void deactivateHostSyncTowerCamera(HostSyncTowerCamera*);
46void updateHostSyncTowerCamera(HostSyncTowerCamera*);
47KeyMoveCameraObj* tryCreateLinksKeyMoveCameraObj(const ActorInitInfo&, const char*);
48KeyMoveCameraObj* tryCreateLinksKeyMoveCameraObjWithInterpole(const ActorInitInfo&, const char*);
49} // namespace al
50