| 1 | #pragma once |
| 2 | |
| 3 | #include <math/seadMatrix.h> |
| 4 | #include <math/seadVector.h> |
| 5 | |
| 6 | namespace al { |
| 7 | struct ActorInitInfo; |
| 8 | class AreaInitInfo; |
| 9 | class AreaObj; |
| 10 | class AreaObjGroup; |
| 11 | class IUseAreaObj; |
| 12 | class LiveActor; |
| 13 | class PlacementInfo; |
| 14 | class PlayerHolder; |
| 15 | class SwitchKeepOnAreaGroup; |
| 16 | class SwitchOnAreaGroup; |
| 17 | class ValidatorBase; |
| 18 | |
| 19 | AreaObj* tryFindAreaObjPlayerOne(const PlayerHolder* holder, const char* name); |
| 20 | AreaObj* tryFindAreaObjPlayerAll(const PlayerHolder* holder, const char* name); |
| 21 | AreaObj* tryGetAreaObjPlayerAll(const LiveActor* actor, const AreaObjGroup* areaGroup); |
| 22 | bool isInAreaObjPlayerAll(const LiveActor* actor, const AreaObj* areaObj); |
| 23 | bool isInAreaObjPlayerAll(const LiveActor* actor, const AreaObjGroup* areaGroup); |
| 24 | bool isInAreaObjPlayerAnyOne(const LiveActor* actor, const AreaObj* areaObj); |
| 25 | bool isInAreaObjPlayerAnyOne(const LiveActor* actor, const AreaObjGroup* areaGroup); |
| 26 | AreaObj* createAreaObj(const ActorInitInfo& actorInitInfo, const char* name); |
| 27 | void initAreaInitInfo(AreaInitInfo* areaInfo, const ActorInitInfo& actorInfo); |
| 28 | AreaObj* createLinkArea(const ActorInitInfo& initInfo, const char* name, const char* areaName); |
| 29 | void initAreaInitInfo(AreaInitInfo* areaInfo, const PlacementInfo& placementInfo, |
| 30 | const ActorInitInfo& actorInfo); |
| 31 | AreaObj* tryCreateLinkArea(const ActorInitInfo& initInfo, const char* name, const char* areaName); |
| 32 | AreaObjGroup* createLinkAreaGroup(const ActorInitInfo& initInfo, const char* name, |
| 33 | const char* groupName, const char* areaName); |
| 34 | AreaObjGroup* createLinkAreaGroup(LiveActor* actor, const ActorInitInfo& initInfo, const char* name, |
| 35 | const char* groupName, const char* areaName); |
| 36 | AreaObj* tryFindAreaObj(const LiveActor* actor, const char* name); |
| 37 | bool isInAreaObj(const LiveActor* actor, const char* name); |
| 38 | bool isInAreaObjPlayerOne(const PlayerHolder* holder, const char* name); |
| 39 | bool isInAreaObjPlayerAll(const PlayerHolder* holder, const char* name); |
| 40 | bool isInAreaObjPlayerOneIgnoreAreaTarget(const PlayerHolder* holder, const char* name); |
| 41 | bool isInDeathArea(const LiveActor* actor); |
| 42 | bool isInWaterArea(const LiveActor* actor); |
| 43 | bool isInPlayerControlOffArea(const LiveActor* actor); |
| 44 | f32 calcWaterSinkDepth(const LiveActor* actor); |
| 45 | void registerAreaHostMtx(const IUseAreaObj* areaObj, const sead::Matrix34f* mtx, |
| 46 | const ActorInitInfo& initInfo); |
| 47 | void registerAreaHostMtx(const IUseAreaObj* areaObj, const sead::Matrix34f* mtx, |
| 48 | const ActorInitInfo& initInfo, const ValidatorBase& validator); |
| 49 | void registerAreaHostMtx(const LiveActor* actor, const ActorInitInfo& initInfo); |
| 50 | void registerAreaHostMtx(const LiveActor* actor, const ActorInitInfo& initInfo, |
| 51 | const ValidatorBase& validator); |
| 52 | void registerAreaSyncHostMtx(const IUseAreaObj* areaObj, const sead::Matrix34f* mtx, |
| 53 | const ActorInitInfo& initInfo); |
| 54 | void registerAreaSyncHostMtx(const IUseAreaObj* areaObj, const sead::Matrix34f* mtx, |
| 55 | const ActorInitInfo& initInfo, const ValidatorBase& validator); |
| 56 | void registerAreaSyncHostMtx(const LiveActor* actor, const ActorInitInfo& initInfo); |
| 57 | void registerAreaSyncHostMtx(const LiveActor* actor, const ActorInitInfo& initInfo, |
| 58 | const ValidatorBase& validator); |
| 59 | bool tryReviseVelocityInsideAreaObj(sead::Vector3f* nearestEdgePos, LiveActor* actor, |
| 60 | AreaObjGroup* areaGroup, const AreaObj* areaObj); |
| 61 | SwitchKeepOnAreaGroup* tryCreateSwitchKeepOnAreaGroup(LiveActor* actor, |
| 62 | const ActorInitInfo& initInfo); |
| 63 | SwitchOnAreaGroup* tryCreateSwitchOnAreaGroup(LiveActor* actor, const ActorInitInfo& initInfo); |
| 64 | |
| 65 | } // namespace al |
| 66 | |