| 1 | #pragma once |
| 2 | |
| 3 | #include "Library/LiveActor/LiveActor.h" |
| 4 | |
| 5 | namespace al { |
| 6 | class ActorCollisionController; |
| 7 | class CollisionPartsFilterBase; |
| 8 | class HitSensor; |
| 9 | class TriangleFilterBase; |
| 10 | |
| 11 | Collider* getActorCollider(const LiveActor*); |
| 12 | bool isExistActorCollider(const LiveActor*); |
| 13 | void getActorCollisionPartsSensor(const LiveActor*); |
| 14 | bool isExistCollisionParts(const LiveActor*); |
| 15 | bool isEqualCollisionParts(const LiveActor*, const CollisionParts*); |
| 16 | void validateCollisionParts(LiveActor*); |
| 17 | void invalidateCollisionParts(LiveActor*); |
| 18 | void validateCollisionPartsBySystem(LiveActor*); |
| 19 | void invalidateCollisionPartsBySystem(LiveActor*); |
| 20 | void isValidCollisionParts(const LiveActor*); |
| 21 | void setCollisionPartsSpecialPurposeName(LiveActor*, const char*); |
| 22 | void resetAllCollisionMtx(LiveActor*); |
| 23 | void syncCollisionMtx(LiveActor*, const sead::Matrix34f*); |
| 24 | void syncCollisionMtx(LiveActor*, CollisionParts*, const sead::Matrix34f*); |
| 25 | void setSyncCollisionMtxPtr(LiveActor*, const sead::Matrix34f*); |
| 26 | bool isOnGround(const LiveActor*, u32); |
| 27 | bool isOnGroundFace(const LiveActor*); |
| 28 | bool isCollidedGroundEdgeOrCorner(const LiveActor*); |
| 29 | bool isOnGroundNoVelocity(const LiveActor*, u32); |
| 30 | bool isOnGroundDegree(const LiveActor*, f32, u32); |
| 31 | bool isOnGroundFaceDegree(const LiveActor*, f32); |
| 32 | bool isOnGroundNoVelocityDegree(const LiveActor*, f32, u32); |
| 33 | const sead::Vector3f& getOnGroundNormal(const LiveActor*, u32); |
| 34 | void setColliderRadius(LiveActor*, f32); |
| 35 | void setColliderOffsetY(LiveActor*, f32); |
| 36 | f32 getColliderRadius(const LiveActor*); |
| 37 | f32 getColliderOffsetY(const LiveActor*); |
| 38 | void getColliderFixReaction(const LiveActor*); |
| 39 | void calcColliderPos(sead::Vector3f*, const LiveActor*); |
| 40 | void validateColliderRobustCheck(LiveActor*); |
| 41 | void invalidateColliderRobustCheck(LiveActor*); |
| 42 | void setColliderReactMovePower(LiveActor*, bool); |
| 43 | void calcColliderFloorRotatePower(sead::Quatf*, LiveActor*); |
| 44 | void calcJumpInertia(sead::Vector3f*, LiveActor*, const sead::Vector3f&, f32); |
| 45 | bool isCollidedGround(const LiveActor*); |
| 46 | void calcJumpInertiaWall(sead::Vector3f*, LiveActor*, f32); |
| 47 | bool isCollidedWall(const LiveActor*); |
| 48 | void scaleVelocityInertiaWallHit(LiveActor*, f32, f32, f32); |
| 49 | const sead::Vector3f& getCollidedWallNormal(const LiveActor*); |
| 50 | void calcCollidedNormalSum(const LiveActor*, sead::Vector3f*); |
| 51 | void calcGroundNormalOrUpDir(sead::Vector3f*, const LiveActor*); |
| 52 | const sead::Vector3f& getCollidedGroundNormal(const LiveActor*); |
| 53 | void calcGroundNormalOrGravityDir(sead::Vector3f*, const LiveActor*); |
| 54 | void setColliderFilterTriangle(LiveActor*, const TriangleFilterBase*); |
| 55 | void setColliderFilterCollisionParts(LiveActor*, const CollisionPartsFilterBase*); |
| 56 | void createAndSetColliderFilterExistActor(LiveActor*); |
| 57 | void createAndSetColliderFilterExistActor(LiveActor*, LiveActor*); |
| 58 | void createAndSetColliderFilterSubActor(LiveActor*); |
| 59 | void createAndSetColliderSpecialPurpose(LiveActor*, const char*); |
| 60 | void createAndSetColliderSpecialPurposeForCollisionActor(LiveActor*, const char*); |
| 61 | void createAndSetColliderIgnoreOptionalPurpose(LiveActor*, const char*); |
| 62 | void createAndSetColliderSpecialAndIgnoreOptionalPurpose(LiveActor*, const char*, const char*); |
| 63 | void createActorCollisionController(LiveActor*); |
| 64 | void setColliderRadius(ActorCollisionController*, f32); |
| 65 | void setColliderRadiusScale(ActorCollisionController*, f32); |
| 66 | void setColliderOffsetY(ActorCollisionController*, f32); |
| 67 | void resetActorCollisionController(ActorCollisionController*, s32); |
| 68 | void updateActorCollisionController(ActorCollisionController*); |
| 69 | const char* getCollidedFloorMaterialCodeName(const LiveActor*); |
| 70 | const char* getCollidedFloorMaterialCodeName(const Collider*); |
| 71 | const char* getCollidedWallMaterialCodeName(const LiveActor*); |
| 72 | const char* getCollidedCeilingMaterialCodeName(const LiveActor*); |
| 73 | bool isCollidedFloorCode(const LiveActor*, const char*); |
| 74 | bool isCollidedCollisionCode(const LiveActor*, const char*, const char*); |
| 75 | bool isCollidedWallCode(const LiveActor*, const char*); |
| 76 | bool isCollidedCameraCode(const LiveActor*, const char*); |
| 77 | bool isCollidedMaterialCode(const LiveActor*, const char*); |
| 78 | bool isCollidedGroundFloorCode(const LiveActor*, const char*); |
| 79 | bool isCollidedGroundCollisionCode(const LiveActor*, const char*, const char*); |
| 80 | bool isCollided(const LiveActor*); |
| 81 | bool isCollidedCeiling(const LiveActor*); |
| 82 | bool isCollidedWallFace(const LiveActor*); |
| 83 | bool isCollidedVelocity(const LiveActor*); |
| 84 | bool isCollidedWallVelocity(const LiveActor*); |
| 85 | bool isCollidedCeilingVelocity(const LiveActor*); |
| 86 | const sead::Vector3f& getCollidedCeilingNormal(const LiveActor*); |
| 87 | const sead::Vector3f& getCollidedGroundPos(const LiveActor*); |
| 88 | const sead::Vector3f& getCollidedWallPos(const LiveActor*); |
| 89 | const sead::Vector3f& getCollidedCeilingPos(const LiveActor*); |
| 90 | void calcSpeedCollideWall(const LiveActor*); |
| 91 | void calcSpeedCollideGround(const LiveActor*); |
| 92 | void calcSpeedCollideCeiling(const LiveActor*); |
| 93 | void getCollidedGroundCollisionParts(const LiveActor*); |
| 94 | bool tryGetCollidedGroundCollisionParts(const LiveActor*); |
| 95 | void getCollidedWallCollisionParts(const LiveActor*); |
| 96 | bool tryGetCollidedWallCollisionParts(const LiveActor*); |
| 97 | void getCollidedCeilingCollisionParts(const LiveActor*); |
| 98 | bool tryGetCollidedCeilingCollisionParts(const LiveActor*); |
| 99 | void getCollidedGroundSensor(const LiveActor*); |
| 100 | HitSensor* tryGetCollidedGroundSensor(const LiveActor*); |
| 101 | HitSensor* getCollidedWallSensor(const LiveActor*); |
| 102 | HitSensor* tryGetCollidedWallSensor(const LiveActor*); |
| 103 | HitSensor* getCollidedCeilingSensor(const LiveActor*); |
| 104 | HitSensor* tryGetCollidedCeilingSensor(const LiveActor*); |
| 105 | HitSensor* tryGetCollidedSensor(const LiveActor*); |
| 106 | bool tryGetCollidedPos(sead::Vector3f*, const LiveActor*); |
| 107 | void setForceCollisionScaleOne(const LiveActor*); |
| 108 | void followRotateFrontAxisUpGround(LiveActor*); |
| 109 | void followRotateFrontAxisUp(LiveActor*, const CollisionParts*); |
| 110 | // void ActorFactory::ActorFactory(const char*); |
| 111 | } // namespace al |
| 112 | |