| 1 | #pragma once |
| 2 | |
| 3 | #include <math/seadBoundBox.h> |
| 4 | #include <prim/seadSafeString.h> |
| 5 | |
| 6 | namespace agl { |
| 7 | class DrawContext; |
| 8 | } |
| 9 | |
| 10 | namespace alNerveFunction { |
| 11 | class NerveActionCollector; |
| 12 | } |
| 13 | |
| 14 | namespace al { |
| 15 | struct ActorInitInfo; |
| 16 | class AudioDirector; |
| 17 | class CollisionDirector; |
| 18 | class GraphicsSystemInfo; |
| 19 | class LayoutInitInfo; |
| 20 | class LiveActor; |
| 21 | class LiveActorGroup; |
| 22 | class Nerve; |
| 23 | class PartsEffectGroup; |
| 24 | class PlacementInfo; |
| 25 | class SceneCameraInfo; |
| 26 | |
| 27 | void initActor(LiveActor* actor, const ActorInitInfo& initInfo); |
| 28 | void initActorSuffix(LiveActor* actor, const ActorInitInfo& initInfo, const char* suffix); |
| 29 | void initActorChangeModel(LiveActor* actor, const ActorInitInfo& initInfo); |
| 30 | void initActorChangeModelSuffix(LiveActor* actor, const ActorInitInfo& initInfo, |
| 31 | const char* suffix); |
| 32 | void initActorWithArchiveName(LiveActor* actor, const ActorInitInfo& initInfo, |
| 33 | const sead::SafeString& archiveName, const char* suffix); |
| 34 | void initChildActorWithArchiveNameWithPlacementInfo(LiveActor* actor, const ActorInitInfo& initInfo, |
| 35 | const sead::SafeString& archiveName, |
| 36 | const char* suffix); |
| 37 | void initChildActorWithArchiveNameNoPlacementInfo(LiveActor* actor, const ActorInitInfo& initInfo, |
| 38 | const sead::SafeString& archiveName, |
| 39 | const char* suffix); |
| 40 | LiveActor* createChildLinkSimpleActor(const char* actorName, const char* linkName, |
| 41 | const ActorInitInfo& initInfo, bool alive); |
| 42 | LiveActor* createChildLinkMapPartsActor(const char* actorName, const char* linkName, |
| 43 | const ActorInitInfo& initInfo, s32 linkIndex, bool alive); |
| 44 | void initMapPartsActor(LiveActor* actor, const ActorInitInfo& initInfo, const char* suffix); |
| 45 | void initLinksActor(LiveActor* actor, const ActorInitInfo& initInfo, const char* suffix, |
| 46 | s32 linkIndex); |
| 47 | ActorInitInfo* createLinksPlayerActorInfo(LiveActor* actor, const ActorInitInfo& initInfo); |
| 48 | const char* getLinksActorClassName(const ActorInitInfo& initInfo, const char* linkName, |
| 49 | s32 linkIndex); |
| 50 | const char* getLinksActorDisplayName(const ActorInitInfo& initInfo, const char* linkName, |
| 51 | s32 linkIndex); |
| 52 | const char* getLinksActorObjectName(const ActorInitInfo& initInfo, const char* linkName, |
| 53 | s32 linkIndex); |
| 54 | void initCreateActorWithPlacementInfo(LiveActor* actor, const ActorInitInfo& initInfo); |
| 55 | void initCreateActorWithPlacementInfo(LiveActor* actor, const ActorInitInfo& initInfo, |
| 56 | const PlacementInfo& placementInfo); |
| 57 | void initCreateActorNoPlacementInfo(LiveActor* actor, const ActorInitInfo& initInfo); |
| 58 | void initCreateActorNoPlacementInfoNoViewId(LiveActor* actor, const ActorInitInfo& initInfo); |
| 59 | LiveActor* createPlacementActorFromFactory(const ActorInitInfo& initInfo, |
| 60 | const PlacementInfo* placementInfo); |
| 61 | LiveActor* createLinksActorFromFactory(const ActorInitInfo& initInfo, const char* linkName, |
| 62 | s32 linkNum); |
| 63 | LiveActorGroup* createLinksActorGroupFromFactory(const ActorInitInfo& initInfo, |
| 64 | const char* linkName, const char* groupName); |
| 65 | LiveActorGroup* tryCreateLinksActorGroupFromFactory(const ActorInitInfo& initInfo, |
| 66 | const char* linkName, const char* groupName); |
| 67 | LiveActor* tryCreateLinksActorFromFactorySingle(const ActorInitInfo& initInfo, |
| 68 | const char* linkName); |
| 69 | void createAndRegisterLinksActorFromFactory(LiveActorGroup* group, const ActorInitInfo& initInfo, |
| 70 | const char* linkName); |
| 71 | void makeMapPartsModelName(sead::BufferedSafeString* modelName, sead::BufferedSafeString* path, |
| 72 | const PlacementInfo& placementInfo); |
| 73 | void makeMapPartsModelName(sead::BufferedSafeString* modelName, sead::BufferedSafeString* path, |
| 74 | const ActorInitInfo& initInfo); |
| 75 | const char* tryGetMapPartsSuffix(const ActorInitInfo& initInfo, const char* suffix); |
| 76 | void initMapPartsActorWithArchiveName(LiveActor* actor, const ActorInitInfo& initInfo, |
| 77 | const char* fileName, const char* suffix); |
| 78 | void initNerve(LiveActor* actor, const Nerve* nerve, s32 maxStates); |
| 79 | void initNerveAction(LiveActor* actor, const char* actionName, |
| 80 | alNerveFunction::NerveActionCollector* collector, s32 maxStates); |
| 81 | bool trySyncStageSwitchAppear(LiveActor* actor); |
| 82 | bool trySyncStageSwitchKill(LiveActor* actor); |
| 83 | bool trySyncStageSwitchAppearAndKill(LiveActor* actor); |
| 84 | bool tryListenStageSwitchAppear(LiveActor* actor); |
| 85 | bool tryListenStageSwitchKill(LiveActor* actor); |
| 86 | void syncSensorScaleY(LiveActor* actor); |
| 87 | void syncSensorAndColliderScaleY(LiveActor* actor); |
| 88 | void setMaterialCode(LiveActor* actor, const char* materialCode); |
| 89 | void initMaterialCode(LiveActor* actor, const ActorInitInfo& initInfo); |
| 90 | bool tryAddDisplayRotate(LiveActor* actor, const ActorInitInfo& initInfo); |
| 91 | bool tryAddDisplayOffset(LiveActor* actor, const ActorInitInfo& initInfo); |
| 92 | bool tryAddDisplayScale(LiveActor* actor, const ActorInitInfo& initInfo); |
| 93 | const PlacementInfo& getPlacementInfo(const ActorInitInfo& initInfo); |
| 94 | const LayoutInitInfo& getLayoutInitInfo(const ActorInitInfo& initInfo); |
| 95 | AudioDirector* getAudioDirector(const ActorInitInfo& initInfo); |
| 96 | CollisionDirector* getCollisionDirectorFromInfo(const ActorInitInfo& initInfo); |
| 97 | const SceneCameraInfo* getSceneCameraInfoFromInfo(const ActorInitInfo& initInfo); |
| 98 | GraphicsSystemInfo* getGraphicsSystemInfo(const ActorInitInfo& initInfo); |
| 99 | agl::DrawContext* getDrawContext(const ActorInitInfo& initInfo); |
| 100 | void getActorRecourseDataF32(f32* val, LiveActor* actor, const char* fileName, |
| 101 | const char* entryName); |
| 102 | void getActorRecourseDataString(const char** val, LiveActor* actor, const char* fileName, |
| 103 | const char* entryName); |
| 104 | void getActorRecourseDataV3f(sead::Vector3f* val, LiveActor* actor, const char* fileName, |
| 105 | const char* entryName); |
| 106 | void getActorRecourseDataBox3f(sead::BoundBox3f* val, LiveActor* actor, const char* fileName, |
| 107 | const char* entryName); |
| 108 | PartsEffectGroup* createPartsEffectGroup(LiveActor* actor, const ActorInitInfo& initInfo, |
| 109 | s32 maxEffects); |
| 110 | |
| 111 | } // namespace al |
| 112 | |